实例讲解 Git 使用

以下内容都是以 Github 进行演示操作

  1. 先在 Github 上创建目标仓库(存放工程代码)

1.1. 创建仓库


创建仓库

1.2. 创建仓库名称、描述、语言类型、许可协议


设置属性

1.3. 创建仓库�成功后的界面


创建成功
  1. 将本地代码与刚刚创建的仓库进行同步,此时有两种情况,其中一种情况为项目是新创建的(见 2.1 分支);另一种情况为项目已经有代码了(见 2.2 分支)。

2.1. 项目是新创建的,此时最简单,直接将刚刚创建的仓库通过 clone 命令下载到本地即可。

2.1.1. 获取仓库的地址,如下图红色框中即为仓库地址,点击 Copy to clipboard 进行复制

仓库地址

2.1.2. 打开终端,切换到项目存放的路径(演示中为桌面),在终端运行:git clone <repository><repository> 为仓库地址(即可将远程仓库下载到桌面,如下图,可以看到 LICENSE 文件已存在,而 .gitignore 是隐藏文件,因此看不到)

下载仓库

2.2. �本地项目已经有代码了,将本地项目与刚刚创建的仓库进行同步(演示中本地项目目录为 PrjCode,已存在代码文件 R.generated.swift)。

本地项目

2.2.1. 在项目根目录下初始化 Gitgit init

初始化 Git

2.2.2. 获取远程仓库的地址,如下图红色框中即为仓库地址,点击 Copy to clipboard 进行复制

仓库地址

2.2.3. 设置远程仓库的地址,在终端运行:git remote add origin <repository><repository> 为仓库地址

设置远程仓库的地址

2.2.4. 将远程仓库的内容(忽略文件、许可文件)同步到本地项目中:git pull origin master

同步远程内容到本地

2.2.5. 将本地项目内容(代码文件、资源文件)推送到远程仓库进行同步:git push origin master

推送内容到远程仓库

2.2.6. 同步后的远程仓库内容与本地项目内容


远程仓库

本地项目
  1. 创建分支。在上面项目的基础上,比如现在项目需要增加一个新功能(演示中对应的功能为 FMDBManager.swift 文件),但又不影响主线的进度,此时可以创建一条分支 funBranch

3.1. 创建并切换到目标分支 funBranchgit checkout -b funBranch

创建分支

3.2. 增加相应代码和资源(此处为增加 FMDBManager.swift 文件)

文件变化

3.2. 将内容改变后的本地分支 funBranch 推送到远程分支 funBranch

推送分支

3.3. 推送分支成功后的远程仓库


远程仓库

远程分支内容
  1. 合并功能分支。在第 3 步中,我们创建了新功能分支 funBranch,那么当我们的新功能分支开发并测试完成后,需要将新功能分支 funBranch 合并到主分支 master上。

4.1. 切换到主分支:git checkout master

4.2. 将新功能分支 funBranch 合并到主分支 mastergit merge funBranch

4.3. 将合并后的主分支推送到远程主分支:git push origin master(从下面的图可以看到:新功能分支 funBranch 创建的 FMDBManager.swift 文件已经被添加到主分支上了,即新功能已经被合并到主分支上了)

合并分支

远程主分支内容

  1. 添加标签 Tag。项目在开发的过程中,会遇到需要多个版本的问题,比如 版本1 是提供给普通用户使用, 版本2 是提供给付费用户使用,这时就可以使用标签 Tag
    git tag 1.0.0 1b2e1d63ff1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 IDgit log,你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。

5.1. 使用 git log 我们可以看到先前做的 commit

提交记录

5.2 现在假设 ID81c6c053ad8691eb2152492f8470a22843899f24 是我们所需要的 版本1ID0567c71145efcbcb8623a29ec311ac3703fd0e82 是我们所需要的 版本2

5.3 切换到 ID81c6c053ad8691eb2152492f8470a22843899f24 ,并打上 Tag1.0.0,同时将打上的 Tag 推送到远程服务器

版本1

远程仓库 Tag 1.0.0

5.4 切换到 ID0567c71145efcbcb8623a29ec311ac3703fd0e82 ,并打上 Tag1.1.0,同时将打上的 Tag 推送到远程服务器

版本2

远程仓库 Tag 1.1.0

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

推荐阅读更多精彩内容