本文介绍在控制台终端和Xcode下使用Git推送本地仓库和远程仓库。
项目版本随着时间不断迭代,增加新的功能,修复bug等。版本控制可以记录下软件开发的完整过程,是项目的里程碑。利用版本控制工具,可以提高团队合作的效率。
一、终端控制台下Git的基本操作(本地仓库)
1、首先打开Xcode新建一个项目(此处不用勾选Create Git repository on My Mac),找到项目创建的文件位置,如下图所示点击show in finder
,返回上一级所在的目录。
2、打开终端控制台,输入cd
,然后将上述所找到的项目文件拖进终端控制台,回车,表示此时控制台处于该文件夹下。
3、由于安装了Xcode,Git是集成在Xcode里的,所以不需要单独安装Git,在终端控制台输入git --version
以查看Git的版本并且确保电脑里已经安装好Git,如果没有出现Git版本(一般不会),需要去Git官网手动安装。
4、在终端控台输入 git init
,该命令表示项目已经在git管理之下。此时在项目的文件会自动生成一个.git 文件,由于所生成的.git文件是隐式文件,所以在项目文件夹里是看不到的。若要查看.git文件,command
+shift
+,
,即可查看隐式文件。
5、在新建的项目里写代码,完成阶段性的代码以后,在终端控制台输入git add .
表示要提交所有该项目文件下的内容。接着输入git commit -m '在控制台输入了一行文字 '
,回车以后提交成功。(上述的 git add .
和git commit -m ''
可以合并为git acm git ''
。)
输入
git log
查看日志。 commit后面的串号表示commit唯一标识符,Aauthor表示提交commit
的人, Date
表示提交日期。6、git status
表示git的状态,表示是否有未commit的内容。
二、Xcode内使用Git(本地仓库)
Xcode内部集成Git,提供可视化的Git操作。相比于终端控制台使用Git,Xcode内使用Git更加清晰。
1、新建一个名为gitXcode的项目,勾选Create Git repository on My Mac,表示此项目置于Git的管理之下,相当于在控制台中的git init
操作。
如果在新建项目时忘记勾选,可以选择菜单栏的
Source Control
下的Create Git Repositories
。2、在项目中添加代码,此时代码旁边会出现蓝色的标志,表示代码是新添加的,改代码下的文件旁边会有一个M标志,表示该文件被修改过。想项目中添加一个新的文件,文件旁边会有一个A的标志,表示该文件是新添加进项目的。
3、提交修改的项目,点击菜单栏的
Source Control
下的commit
。进入commit以后,左边框框内显示了修改或者添加的文件,主框内显示了文件中那些内容被修改了,可以对每一项修改的内容操作,例如Don‘t commit表示这一项更改不需要提交。下面的框描述此次commit的描述。
4、查看
Git log
。点击Brenches下的主分支(默认为master)查看log,框框的右边表示每次commit的详情,展示的详情与终端展示的详情基本一致。5、再次向代码中添加新的代码(此时还没有将新的代码commit),此时左上角的版本控制标志,可以与上一版本代码比较,标识出修改的地方。如果发现相比于上一次Commit的代码,此次添加的新代码为不需要的代码,可以点击Discard All changes,返回到上一次commit的内容。
6、新建分支。分支(我。。。。。也没想好怎么描述想好再部)。项目默认都在主分支(master分支)下,创建一个新的分支,右击master分支,点击Branch from 'master',将新的分支命名为
功能3_master````。新的分支与主分支是平行的状态,互相不影响。新建完分支以后,默认切换到新的分支,代码已经在新的分支上了。
7、在分支上完成功能三以后,commit以后,可以在分支的日志上看到刚刚commit的内容但是在master分支上看不到刚刚commit的功能。
8、切换分支。右击需要切换到的分支,点击
checkout
切换到此分支以下。同时在master分支下添加新的功能4并且commit。9、合并分支。上述两步骤,分别在
功能3_master
下添加了功能3,和master
主分支下添加了功能4。两个分支类似于两个平行世界,互不影响。现在将功能3_master
合并到master
分支,点击功能3_master分支并且选择Merge “功能3_master” into “master”
三、将代码提交到远程仓库(GitHub)
1、在Xcode里面添加GitHub账户,在Xcode里 command
+
,
,点击Accounts下面的+
添加GitHub账户。账户添加以后,将Xcode与GitHub里面的远程仓库进行连接。
2、在Xcode里创建GitHub远程仓库。右击
Create "GitXcode" Remote
,然后选择刚刚添加的GitHub账户,填写远程仓库名字以及仓库的描述,同时设置Remote的名字,一般使用默认的origin。3、查看从Xcode推送至仓库的内容。选择Remote目录下的
origin
右击View on Github
,即可跳转至GitHub改仓库以下。此时只默认推送了主分支(master)下的代码内容,没有推送其他分支的内容。4、将其他分支Push至远程仓库。首先将分支设置为current状态,即checkout。然后点击
Push
。即可将其他分支推送至远程仓库。同样可以在GitHub仓库内看到多了刚刚推送的分支。5、在Xcode内
clone
GitHub上的项目。将GitHub上的项目URL复制进刚刚打开打Clone窗口,选择所需要clone的分支以及存储的位置即可。6、将远程代码仓库Pull进本地。将远程代码更新至本地,团队合作中,将其他人的Push至GitHub上的代码都Pull至本地。然后再将其他人所Push的分支合并至master,最后再将主分支masterPush至GitHub上,以此循环。
四、 .gitignore文件
使用.gitignorew文件将不想上传至GitHub的文件过滤,例如含有付费API的账户密码等文件。
1、首先打开gitignore官网下载语言所需要的模版。https://www.gitignore.io,下载所需要语言的模版。不会上传至GitHub里模版内的后缀名的文件。
2、新建.gittignore文件,点击项目右键点击
New file -> Empty
,3、创建好以后将模版复制到.gitignore文件里即可。