Git 在 iOS 开发中的使用

安装(macOS)

1.安装Homebrew :软件包管理器,用于管理一些开源软件在 Mac OS X 上的安装和升级

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装完成后,执行git安装命。

$ brew install git 

3.Git是分布式版本控制系统,所以,每个机器都必须自报家门;注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址(不要 --global )

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

简单使用

1.把一个文件目录变成Git可以管理的仓库

$ cd ~/Desktop/
$ mkdir test
$ cd test
$ git init

2.添加文件提交到仓库(需把文件放在git仓库目录下;-m后面输入的是本次提交的说明,最好是有阅读意义的英文)

$ git add eadme.txt
$ git commit -m "wrote a readme file"

3.查看仓库当前的状态,哪些文件被修改

$ git status

4.查看文件被修改的具体地方

$ git diff read.txt

5.查看提交的历史记录(-pretty=online 表示只看主要信息,提交的版本号及commit说明,不要也行)

$ git log -pretty=oneline
$ git reflog (查看所有commit记录)

6.回退到上一次提交的版本 或 任意一个版本(commit_id 没必要写全)

$ git reset --hard HEAD^
$ git reset --hard commit_id

7.暂存区 和 缓存区

git add把文件添加进去,实际上就是把文件修改添加到暂存区;
git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支



git diff HEAD -- readme.txt:命令可以查看readme.txt文件在工作区和版本库里面最新版本的区别

git checkout -- readme.txt:把readme.txt文件在工作区的修改全部撤销
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”

git reset HEAD file:可以把暂存区的修改撤销掉

删除文件:git rm删掉,并且git commit

中级使用

1.本地仓库关联远程仓库(GitHub)

$ git remote add origin git@github.com:NGjiapeche/UpcodebySwift.git
$ git remote -v (查看是否关联远程仓库)

2.本地库的内容推送到远程(第一次推送master分支时,加上了-u参数,在以后的推送或者拉取时就可以简化命令)

$ git push -u origin maste

3.从远程库克隆

$ gir clone git@github.com:NGjiapeche/UpcodebySwift.git

4.创建dev分支,然后切换到dev分支

$ git checkout -b dev (等于两面2个命令)
$ git branch dev  (创建分支)
$ git checkout dev  (切换到分支)
$ git branch -a (查看所有分支)
$ git branch -d dev (删除dev分支)
$ git branch -D dev  (强行删除未合并过的分支)

6.把dev分支的工作成果合并到master分支(在master分支下操作)

$ git merge dev (Fast forward)
$ git merge --no-ff -m "merge with no-ff" dev (普通模式合并,合并后的历史有分支,能看出来曾经做过合并)

7.查看分支合并图

$ git log --graph --pretty=oneline --abbrev-commit

8.当dev分支还无法提交时,需要去修复紧急bug分支时(把当前工作现场“储藏”起来,等以后恢复现场后继续工作,git status 是干净的)

$ git stash 
$ git stash list
$ git stash pop (回复工作现场;等于下面2条指令)
$ git stash apply(恢复)
$ git stash drop(删除stash内容)

9.本地分支关联远程仓库分支

$ git branch --set-upstream "branch-name" origin/"branch-name" (本地和远程都有分支,未关联)
$ git checkout -b "branch-name" origin/"branch-name"(远程有分支时,在本地新建分支时关联远程分支)
$ git push origin "branch-name" (远程没有分支时,在本地分支push时创建新分支)

10.拉取远程仓库文件

$ git pull 

高级使用

很多Git命令只有那些专家才明白,这些命令可能你一辈子都不会用到。既然Git是一个工具,就没必要把时间浪费在那些“高级”但几乎永远不会用到的命令上。一旦你真的非用不可了,到时候再自行Google或者请教专家也未迟。

github相关使用

创建一个远程仓库
  1. 新建一个仓库


  2. 你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,需要添加SSH Key公钥



  3. 获取 SSH Key
    ~/.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

$ cd ~/
$ ssh-keygen -t rsa -C "youremail@example.com" (提示你输入密码,没必要输入密码只需一直回车即可)
$ cd ~/.ssh
$ cat id_rsa.pub (然后直接选定copy)
参与别人的开源项目
  1. Fork任意开源仓库;

  2. 自己拥有Fork后的仓库的读写权限;

  3. 可以推送pull request给官方仓库来贡献代码。(你可以fork我的仓库试一把pull request)

如果你不喜欢用命令行,推荐git界面软件:SourceTree

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容