iOS Git 個(gè)人/團(tuán)隊(duì)項(xiàng)目的創(chuàng)建(一步一圖)

Git是一款免費(fèi)、開(kāi)源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。和Git類似的代碼管理工具還有SVN,Git和SVN一個(gè)是分布式代碼管理工具一個(gè)是集中式代碼管理工具。


  • 關(guān)于git的存儲(chǔ)結(jié)構(gòu):工作區(qū)、暫緩區(qū),Head指針。如下圖所示


    git.png

  • 我們新建的文件會(huì)在工作區(qū),在通過(guò) git add . 命令可以把工作區(qū)的內(nèi)容提交到暫緩區(qū),在通過(guò)git commit -m "這里寫(xiě)注釋" 提交到本地代碼倉(cāng)庫(kù)

注意:當(dāng)輸入git status 時(shí):

紅色代表在工作區(qū),需要使用git add . 加入到暫緩區(qū)才能commit
綠色代表在暫緩區(qū),可直接commit
兩個(gè)使用commit都是提交到本地倉(cāng)庫(kù)。

  • 下面我們創(chuàng)建一個(gè)本地代碼倉(cāng)庫(kù)

  • 1 打開(kāi)終端,進(jìn)入到桌面,這樣子比較好看。
cd Desktop/
1.png
  • 2 新建一個(gè)倉(cāng)庫(kù)
    在桌面創(chuàng)建一個(gè)文件夾
 mdkir share
 cd share
 git init



2.png

  • 3到這里我們倉(cāng)庫(kù)就創(chuàng)建好了
    進(jìn)入文件夾你會(huì)看到
3.png
  • 4 我們開(kāi)始新建文件
    touch main.c
4.png
  • 5 我們打開(kāi)main.c,并且寫(xiě)入一些文字。


    5.png


> - 6 這里我們輸入git status 查看當(dāng)前的文件的狀態(tài)
6.png

這里文件在工作區(qū),所以我們要先使用

git add .
git status 查看狀態(tài)



7.png

  • 7 發(fā)現(xiàn)文件已經(jīng)是綠色,表示在暫緩區(qū),可以提交了
git commit -m "提交了第一次"


8.png


  • 8 查看版本信息
git log
9.png



  • 9 上面完成了對(duì)代碼的提交,現(xiàn)在我們隊(duì)代碼進(jìn)行修改

10.png



  • 10 修改之后繼續(xù)執(zhí)行 6 - 8 ,如圖
    11.png


在項(xiàng)目中的提交修改我們已經(jīng)演示,下面演示刪除

  • 一、 刪除
    有兩種方式:
    • 1 右鍵→移到廢紙簍
 這種方式需要注意的是,不會(huì)給你添加到暫緩區(qū),
你需要自己執(zhí)行 git add . 加入到暫緩區(qū),可以使用git status 自行查看狀態(tài)


  • 2 git rm 文件名

這里我們演示直接使用命令刪除的方式


12.png



  • 二、執(zhí)行commit 提交
 git commit -m "刪除了main.c"



13.png



在項(xiàng)目中的刪除我們已經(jīng)演示,下面演示回滾

剛才我們知道了使用 git log可以查看版本信息,但是還沒(méi)有解釋版本
信息中的意思:
commit ....... 后面顯示的是唯一標(biāo)識(shí)符  SHA1生成
author:作者,也就是用戶
date:時(shí)間
描述



14.png


我們版本回滾就需要知道commit 后面的唯一標(biāo)識(shí)符
比如我們要回到指定版本


15.png



這個(gè)版本

  • 1 得到版本信息,輸入
 git log


  • 2 復(fù)制 commit 后面的唯一標(biāo)識(shí)符的前面 七 位
git reset --hard 8e25ca8
16.png


  • 3 此時(shí)你就會(huì)神奇的發(fā)現(xiàn)你的倉(cāng)庫(kù)已經(jīng)回到了第一個(gè)版本,并且main.c也回來(lái)了
17.png


  • 4 剛才我們通過(guò)git log的命令可以查看版本信息,
    然后需要手動(dòng)的去復(fù)制commitSHA1碼的前7位,
    很有可能會(huì)復(fù)制錯(cuò)誤,那么我們還可以輸入
git reflog 查看版本
18.png

使用這個(gè)查看,可以直接復(fù)制前面的7位標(biāo)識(shí)符,是不是很方便啊。




到這里個(gè)人項(xiàng)目的創(chuàng)建,修改,刪除,提交,回滾都完成了。


對(duì)于團(tuán)隊(duì)項(xiàng)目,除了上面的基本操作意外,還多了:

git init --bare 創(chuàng)建一個(gè)共享倉(cāng)庫(kù)
git clone 克隆
git push  提交到遠(yuǎn)程倉(cāng)庫(kù)
git pull    從遠(yuǎn)程倉(cāng)庫(kù)下載
其他的類似。
好吧,開(kāi)始干活。


1.創(chuàng)建一個(gè)共享倉(cāng)庫(kù)
cd Desktop
mkdir gongxiang
cd gongxiang
git init --bare 創(chuàng)建一個(gè)共享倉(cāng)庫(kù)
19.png


2.把代碼倉(cāng)庫(kù)下載到一個(gè)文件夾中

這里我們假設(shè)有兩個(gè)人開(kāi)發(fā),兩個(gè)人的一個(gè)叫“kenghuo”,一個(gè)叫“kengbi”
然后在桌面分別建立這兩個(gè)文件夾,這里坑貨是項(xiàng)目經(jīng)理,他負(fù)責(zé)初始化項(xiàng)目結(jié)構(gòu)。


  • 2.1kenghuo 要負(fù)責(zé)項(xiàng)目結(jié)構(gòu)搭建,所以要把代碼倉(cāng)庫(kù)下載回來(lái)
cd ~
cd Desktop/
kenghuo
git clone 共享文件夾的地址
20.png

警告是說(shuō)這個(gè)是空的倉(cāng)庫(kù),不用管它



PS: 下面的圖39 33 29的紅色部分的字,是因?yàn)?gitignore引起,所以你需要重github中去搜索gitignore 進(jìn)入找到 Objective-c的下載或者復(fù)制一份自己存儲(chǔ)為.gitignore文件 作者這里的圖就不在去重新生成了=。= 太懶了 有問(wèn)題可以評(píng)論,我看到回復(fù)你。


3.初始化工程,并且上傳到遠(yuǎn)程倉(cāng)庫(kù)

小伙伴們不知道有沒(méi)有注意,我在第一張圖中還有一個(gè)文件貌似一直都沒(méi)有出現(xiàn)過(guò)啊=。=


  • 3.1 忽略文件的創(chuàng)建和上傳(Push)
沒(méi)錯(cuò)就是 .gitignore 這個(gè)是忽略文件的意思。

在實(shí)際項(xiàng)目中我們經(jīng)常要忽略一些文件
比如:

.DS_Store
/Pods
podfile.lock
Podfile.lock

這些文件要怎么忽略呢,就需要這個(gè)文件了
你可以去Github中去輸入 gitignore 里面找到Objective-c,復(fù)制一份



你可以把這些添加進(jìn)去,第一個(gè)最好添加,后面的如果你用cocoapods也可以加入進(jìn)去

.DS_Store
/Pods
podfile.lock
Podfile.lock

然后保存為

kenghuo/gongxiang 文件夾

21.png



把文件名改為 .gitignore 提示你是不是要使用 . ,點(diǎn)擊確定就好得到下圖
22.png

這個(gè)時(shí)候如果你不在kenghuo/gongxiang 文件夾中,就進(jìn)入
如果你不知道你在不在這個(gè)文件夾中 輸入 pwd
進(jìn)入這個(gè)文件夾之后

輸入 git status

如果你的和我一樣,那么你將看到


23.png

臥槽,怎么多了一個(gè) .rtf,別急有辦法。


24.png

然后
25.png

提示是不是要 移除 的時(shí)候,點(diǎn)擊移除

在使用 git status 查看狀態(tài)
26.png
  • ok這樣子就是我們需要的文件了,但是是 紅色 的啊。
    沒(méi)錯(cuò)
git add .
git commit -m "添加忽略文件"
git push 
27

做完上面的事情,我們就可以開(kāi)始創(chuàng)建工程了


  • 3.2 創(chuàng)建XCode工程

我覺(jué)得怎么創(chuàng)建xcode工程就不用介紹了,這里只要把工程路徑放到kenghuo/gongxiang/目錄中就好了


28.png

這個(gè)時(shí)候我們?cè)倏串?dāng)前的工程在不在暫緩區(qū),因?yàn)椴辉跁壕徣ノ覀兪遣荒芴峤坏?/p>


git status
29.png

哇塞,都是綠色,那么就可以提交了,紅色的那個(gè)是不用提交的文件不管他

git commit -m "初始化工程完成"

30.png

到這里我們就完成了項(xiàng)目的初始化。

你以為這樣子完成了,(⊙v⊙)嗯,沒(méi)錯(cuò)你本地倉(cāng)庫(kù)里確實(shí)已經(jīng)初始化完成了,但是遠(yuǎn)程倉(cāng)庫(kù)并沒(méi)有,因?yàn)閜ush命令才是把本地倉(cāng)庫(kù)提交到遠(yuǎn)程倉(cāng)庫(kù),這個(gè)時(shí)候如果你不提交 kengbi 是pull不到你的代碼的.所以我們這里還有一步


  • 3.3 push到遠(yuǎn)程倉(cāng)庫(kù)

git push


31.png


4.kengbi 怎么去拉代碼

進(jìn)入kengbi文件夾,把遠(yuǎn)程代碼倉(cāng)庫(kù)拷貝一份就好了

cd ~
cd Desktop/kengbi
cd git clone 遠(yuǎn)程代碼倉(cāng)庫(kù)地址
32.png
  • OK,到這里我們已經(jīng)完成了創(chuàng)建共享代碼倉(cāng)庫(kù)。




5. 修改,新增,刪除,回滾


  • 5.1 修改

現(xiàn)在在kengbi/gongxiang文件夾中已經(jīng)下載好了從遠(yuǎn)程倉(cāng)庫(kù)下載的代碼,這個(gè)時(shí)候kengbi想修改代碼,然后提交到遠(yuǎn)程倉(cāng)庫(kù)。

  • 5.1.1 修改文件

打開(kāi)工程,在工程的viewController中輸入

NSLog(@"我是kengbi,你是誰(shuí)?");


  • 5.1.2 查看狀態(tài)
git status
33

發(fā)現(xiàn)是紅色

國(guó)際慣例
git add .
git commit -m "我是坑比,你是誰(shuí)?"

34.png


  • 5.1.3 提交到遠(yuǎn)程倉(cāng)庫(kù)
git push
35.png

這個(gè)時(shí)候kenghuo想拿到修改之后的代碼,只需要pull
進(jìn)入kenghuo/gongxiang 文件夾

36.png

打開(kāi)kenghuo/gongxiang里面的工程

37.png


  • 5.2 新增

在kenghuo/gongxiang的項(xiàng)目中創(chuàng)建一個(gè)Person類
然后push

  • 5.2.1 創(chuàng)建Person類


    38
  • 5.2.2 查看狀態(tài) git status

git status

39.png

綠色 提交

 git commit -m "創(chuàng)建person"

40


  • 5.2.3 push
git push
41
  • 5.2.4 pull
    在kengbi/gongxiang目錄中
 git pull 
42.png

這里就會(huì)有了


43.png
  • 5.3 刪除
    • 5.3.1 我們?cè)?kenghuo中刪除Person.h然后push
    • 5.3.2 刪除Person.h
這個(gè)沒(méi)必要截圖了
  • 5.3.3 git status 如果你是使用Xcode刪除,會(huì)自己添加進(jìn)入暫緩區(qū),如果不在 git add . → git commit -m "刪除Person.h"
44.png
45.png
  • 5.3.4 git push


    46.png
  • 5.3.5 kengbi 去 git pull

    47.png

    48.png

  • 5.4 回滾
  • 5.4.1 剛才我們把Person.h給刪除掉了,現(xiàn)在我們把它給還原

  • 5.4.2 在kenghuo/gongxiang中查看版本信息


    49
  • 5.4.3 回滾到指定版本


    50.png

查看Xcode

51.png
  • 5.4.4 git push
52.png
  • 5.4.5 git pull
    kengbi 去pull
53.png




6. 到這里就完成了個(gè)人項(xiàng)目和團(tuán)隊(duì)項(xiàng)目的創(chuàng)建和基本使用。

  • 6.1當(dāng)然還有一個(gè)操作方式?jīng)]講,這個(gè)操作方式是基于Xcode的,在Xcode中創(chuàng)建文件、刪除文件、修改文件都會(huì)自動(dòng)幫你添加到暫緩區(qū),這個(gè)時(shí)候我們只需要


    54.png
commit 提交
push 推送到遠(yuǎn)程倉(cāng)庫(kù)
 pull 從遠(yuǎn)程倉(cāng)庫(kù)下載代碼

對(duì)于commit

commit


  • 6.2 回滾,Xcode也集成了
56.png

一共提供了三種方式:

  • 第一個(gè)比對(duì):
    如圖


    57.png
. 左邊是你目前的版本,右邊是歷史版本,移動(dòng)左邊的版本可回退到指定的歷史版本

58.png


  • 第二個(gè):列表的形式顯示

    59.png


  • 第三個(gè):log日志的形式


    60.png
  • 碼字賊累,碼了好久了=。=,如果對(duì)你要幫助,那就行了?。。?!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 源代碼管理工具的起源 為什么會(huì)出現(xiàn)源代碼管理工具? 為了解決在軟件開(kāi)發(fā)過(guò)程中,由源代碼引發(fā)的各種蛋疼繁瑣問(wèn)題 源代...
    小白文_Vincent閱讀 3,544評(píng)論 2 8
  • 本文為 Git教程的學(xué)習(xí)筆記,教程源自廖雪峰的博客。這是一個(gè)由淺入深,學(xué)完后能立刻上手的Git教程。另,附上另一本...
    七弦桐語(yǔ)閱讀 6,480評(píng)論 5 47
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,852評(píng)論 9 163
  • 上午猛練胸肌,杠鈴臥推,三種體位,啞鈴臥推,啞鈴飛鳥(niǎo),蝴蝶機(jī)夾胸,都是4組以上每組12個(gè),胸肌充血明顯,這酸爽! ...
    闞大包_做自己的男神閱讀 341評(píng)論 0 0
  • 我開(kāi)始飄渺起來(lái)了 我看到桌上的空杯子 覺(jué)得那里面盛滿煙頭 看到池塘 覺(jué)得旱災(zāi)已經(jīng)到來(lái) 觸到土地 詛咒它每天喝不...
    兔子喬閱讀 162評(píng)論 0 3

友情鏈接更多精彩內(nèi)容