在MacOX下使用Git

本文介绍在控制台终端和Xcode下使用Git推送本地仓库和远程仓库。

项目版本随着时间不断迭代,增加新的功能,修复bug等。版本控制可以记录下软件开发的完整过程,是项目的里程碑。利用版本控制工具,可以提高团队合作的效率。

一、终端控制台下Git的基本操作(本地仓库)

1、首先打开Xcode新建一个项目(此处不用勾选Create Git repository on My Mac),找到项目创建的文件位置,如下图所示点击show in finder,返回上一级所在的目录。

创建新的Xcode项目

在Xcode里查看项目文件路径

2、打开终端控制台,输入cd ,然后将上述所找到的项目文件拖进终端控制台,回车,表示此时控制台处于该文件夹下。

终端控制台进入文件夹

3、由于安装了Xcode,Git是集成在Xcode里的,所以不需要单独安装Git,在终端控制台输入git --version以查看Git的版本并且确保电脑里已经安装好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 ''。)

commit

输入git log 查看日志。 commit后面的串号表示commit唯一标识符,Aauthor表示提交commit的人, Date表示提交日期。

6、git status表示git的状态,表示是否有未commit的内容。

没有需要commit的内容,此时查看status的状态

有未commit的内容是的状态,表示此时需要commit

二、Xcode内使用Git(本地仓库)

Xcode内部集成Git,提供可视化的Git操作。相比于终端控制台使用Git,Xcode内使用Git更加清晰。

1、新建一个名为gitXcode的项目,勾选Create Git repository on My Mac,表示此项目置于Git的管理之下,相当于在控制台中的git init操作。

使项目置于Git管理之下

如果在新建项目时忘记勾选,可以选择菜单栏的Source Control下的Create Git Repositories

2、在项目中添加代码,此时代码旁边会出现蓝色的标志,表示代码是新添加的,改代码下的文件旁边会有一个M标志,表示该文件被修改过。想项目中添加一个新的文件,文件旁边会有一个A的标志,表示该文件是新添加进项目的。
修改项目

3、提交修改的项目,点击菜单栏的Source Control下的commit
进入commit以后,左边框框内显示了修改或者添加的文件,主框内显示了文件中那些内容被修改了,可以对每一项修改的内容操作,例如Don‘t commit表示这一项更改不需要提交。下面的框描述此次commit的描述。

commit

4、查看Git log。点击Brenches下的主分支(默认为master)查看log,框框的右边表示每次commit的详情,展示的详情与终端展示的详情基本一致。
Git log

5、再次向代码中添加新的代码(此时还没有将新的代码commit),此时左上角的版本控制标志,可以与上一版本代码比较,标识出修改的地方。如果发现相比于上一次Commit的代码,此次添加的新代码为不需要的代码,可以点击Discard All changes,返回到上一次commit的内容。

Discard All changes

6、新建分支。分支(我。。。。。也没想好怎么描述想好再部)。项目默认都在主分支(master分支)下,创建一个新的分支,右击master分支,点击Branch from 'master',将新的分支命名为功能3_master````。新的分支与主分支是平行的状态,互相不影响。新建完分支以后,默认切换到新的分支,代码已经在新的分支上了。

新建分支

7、在分支上完成功能三以后,commit以后,可以在分支的日志上看到刚刚commit的内容但是在master分支上看不到刚刚commit的功能。
在分支上commit

8、切换分支。右击需要切换到的分支,点击checkout切换到此分支以下。同时在master分支下添加新的功能4并且commit。
切换分支
在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里面的远程仓库进行连接。

在Xcode里添加GitHub账户


2、在Xcode里创建GitHub远程仓库。右击Create "GitXcode" Remote,然后选择刚刚添加的GitHub账户,填写远程仓库名字以及仓库的描述,同时设置Remote的名字,一般使用默认的origin。
Create Remote

截屏2020-03-08下午8.31.48.png

3、查看从Xcode推送至仓库的内容。选择Remote目录下的origin右击View on Github,即可跳转至GitHub改仓库以下。此时只默认推送了主分支(master)下的代码内容,没有推送其他分支的内容。
查看GitHub


4、将其他分支Push至远程仓库。首先将分支设置为current状态,即checkout。然后点击Push 。即可将其他分支推送至远程仓库。同样可以在GitHub仓库内看到多了刚刚推送的分支。

Push操作

5、在Xcode内cloneGitHub上的项目。将GitHub上的项目URL复制进刚刚打开打Clone窗口,选择所需要clone的分支以及存储的位置即可。
Clone

复制GitHub上项目的URL

黏贴并且点击Clone

6、将远程代码仓库Pull进本地。将远程代码更新至本地,团队合作中,将其他人的Push至GitHub上的代码都Pull至本地。然后再将其他人所Push的分支合并至master,最后再将主分支masterPush至GitHub上,以此循环。

四、 .gitignore文件

使用.gitignorew文件将不想上传至GitHub的文件过滤,例如含有付费API的账户密码等文件。

1、首先打开gitignore官网下载语言所需要的模版。https://www.gitignore.io,下载所需要语言的模版。不会上传至GitHub里模版内的后缀名的文件。

gitignore官网

2、新建.gittignore文件,点击项目右键点击New file -> Empty
新建文件

选择Empty文件

3、创建好以后将模版复制到.gitignore文件里即可。

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

推荐阅读更多精彩内容