git倉(cāng)庫(kù) 和 sourceTree使用

GIT (分布式版本控制系統(tǒng))

Git是一款免費(fèi)開(kāi)源分布式 版本控制系統(tǒng)挠他,用于敏捷索绪、高效地處理任何或小或大的項(xiàng)目。


扯一些無(wú)關(guān)的:
蘋(píng)果的Mac OS系統(tǒng)衍生于Unix(算的上是系統(tǒng)始祖~)跳仿,而linux是一種類(lèi)unix系統(tǒng)。
并且Git是linux之父(Linus Torvalds)當(dāng)年為了維護(hù)linux捐晶,而發(fā)明的版本控制系統(tǒng)--Git菲语!



常用的代碼管理網(wǎng)站:

  • 國(guó)外的
    • 3.Bitbucket:免費(fèi)支持5個(gè)開(kāi)發(fā)成員的團(tuán)隊(duì)創(chuàng)建無(wú)限私有代碼托管庫(kù)惑灵。
      bitbucket地址:https://bitbucket.org/


  • 國(guó)內(nèi)的:
    • 1.開(kāi)源中國(guó)代碼托管:一個(gè)賬號(hào)最多可以創(chuàng)建1000個(gè)項(xiàng)目山上,包含公有項(xiàng)目和私有項(xiàng)目。
      開(kāi)源中國(guó)代碼托管地址:http://git.oschina.net/
    • 2.coding.net(碼市):一個(gè)賬號(hào)最多可以創(chuàng)建1000個(gè)項(xiàng)目英支,也支持任務(wù)的創(chuàng)建佩憾。
      coding.net地址:https://coding.net/home.html





git操作:

git操作 一覽圖


創(chuàng)建項(xiàng)目

我使用的代碼管理網(wǎng)站 ----- 碼市( CODE MART ) :https://mart.coding.net

進(jìn)入官網(wǎng),創(chuàng)建好賬號(hào)后干花,選擇 自己的頭像下的“Coding.net”項(xiàng)妄帘。


點(diǎn)擊“Coding.net” 進(jìn)入代碼管理頁(yè)面

進(jìn)入代碼管理頁(yè)面后,即可 創(chuàng)建項(xiàng)目了池凄!


點(diǎn)擊 創(chuàng)建項(xiàng)目

如下是創(chuàng)建 項(xiàng)目的填寫(xiě)內(nèi)容抡驼!

創(chuàng)建 包含git倉(cāng)庫(kù)的項(xiàng)目

項(xiàng)目創(chuàng)建好之后,會(huì)顯示 項(xiàng)目動(dòng)態(tài)
創(chuàng)建好之后 可查看項(xiàng)目的動(dòng)態(tài)

點(diǎn)擊“代碼”選項(xiàng) 肿仑,跳轉(zhuǎn)到 代碼管理頁(yè)面致盟。
點(diǎn)擊“代碼” 到代碼管理頁(yè)面


??選擇訪問(wèn)倉(cāng)庫(kù)的方式:HTTPSSSH

選擇訪問(wèn)倉(cāng)庫(kù)的方式:**HTTPS**尤慰、**SSH**

其中關(guān)于配置SSH公鑰https://coding.net/help/doc/git/ssh-key.html


使用“SourceTree” 勾邦,進(jìn)行項(xiàng)目的代碼、倉(cāng)庫(kù) 管理割择。

輸入 項(xiàng)目的URL ,從網(wǎng)絡(luò)獲取 項(xiàng)目的git倉(cāng)庫(kù)萎河。

使用“SourceTree”輸入之前復(fù)制的項(xiàng)目地址 獲取之前的倉(cāng)庫(kù)

不選擇存儲(chǔ)倉(cāng)庫(kù) 的目標(biāo)路徑荔泳,會(huì)默認(rèn)用戶 所使用的路徑蕉饼。

輸入 之前復(fù)制的項(xiàng)目地址 克隆項(xiàng)目倉(cāng)庫(kù)


獲取到項(xiàng)目倉(cāng)庫(kù)后:多出了“git_repository”倉(cāng)庫(kù)。即可對(duì)該倉(cāng)庫(kù) 進(jìn)行 查看玛歌、管理了

獲取到項(xiàng)目倉(cāng)庫(kù)后 即可查看昧港、管理該倉(cāng)庫(kù)了

  • 點(diǎn)擊右鍵,選擇 在“Finder”中查看項(xiàng)目倉(cāng)庫(kù)
    點(diǎn)擊右鍵支子,在“Finder”中查看項(xiàng)目倉(cāng)庫(kù)

在“Finder”中查看項(xiàng)目倉(cāng)庫(kù):

“Finder”中的 項(xiàng)目倉(cāng)庫(kù)

  • 點(diǎn)擊右鍵创肥,選擇“打開(kāi)”
    即可對(duì)倉(cāng)庫(kù) 進(jìn)行管理、操作
    點(diǎn)擊右鍵值朋,選擇“打開(kāi)” 即可對(duì)倉(cāng)庫(kù)進(jìn)行管理操作了


在倉(cāng)庫(kù)里叹侄,引入Xcode工程

遠(yuǎn)程倉(cāng)庫(kù)本地倉(cāng)庫(kù) 創(chuàng)建好之后,即可 打開(kāi)Xcode 在本地倉(cāng)庫(kù)里面的路徑下 創(chuàng)建工程

在倉(cāng)庫(kù)所在路徑 創(chuàng)建工程



如下是項(xiàng)目工程的代碼:(隨便 寫(xiě)了一些內(nèi)容)

工程中 添加一個(gè)富文本的Label


對(duì)自己的項(xiàng)目工程的(代碼)編寫(xiě) 完畢后昨登,在“SourceTree”里面查看 倉(cāng)庫(kù)狀態(tài)了~~~

**查看** **倉(cāng)庫(kù)**的**狀態(tài)**

已暫存文件 及 未暫存文件

點(diǎn)擊“未暫存文件”趾代,合并自己的代碼與之前的代碼。再填寫(xiě) 自己對(duì)項(xiàng)目的編輯 信息(即:對(duì)項(xiàng)目的工作內(nèi)容) 丰辣,用于提交一個(gè)本地版本撒强。

點(diǎn)擊“未暫存文件”后,提交自己對(duì)項(xiàng)目的編輯信息

??:選擇添加“未暫存文件”時(shí)笙什,要剔除 開(kāi)發(fā)中常出現(xiàn)的 .DS_Store文件等飘哨。
當(dāng)然也可以操作 忽略文件(“.gitignore”文件)


提交項(xiàng)目信息琐凭、構(gòu)建版本之后芽隆,查看 倉(cāng)庫(kù)本地(版本)信息

提交項(xiàng)目信息、構(gòu)建版本之后 本地倉(cāng)庫(kù)信息

點(diǎn)擊推送后:
點(diǎn)擊“確認(rèn)” 淘正, 確認(rèn)“推送到遠(yuǎn)程倉(cāng)庫(kù)”

推送到遠(yuǎn)程倉(cāng)庫(kù)成功:
推送到遠(yuǎn)程倉(cāng)庫(kù) 成功0诼怼!



在項(xiàng)目管理網(wǎng)站鸿吆,查看項(xiàng)目版本 及 其最新信息

最新 提交的項(xiàng)目版本及其信息

點(diǎn)擊“提交歷史”囤采,查看項(xiàng)目倉(cāng)庫(kù)的 詳細(xì)更改歷史
查看倉(cāng)庫(kù)的更改歷史


點(diǎn)擊“ViewController.m”,進(jìn)入“ViewController”里面 查看之前的修改 或 進(jìn)行修改

查看之前的修改 點(diǎn)擊“編輯”后惩淳,可對(duì)其進(jìn)行編輯


編輯(移除多余行) 并 保存:

編輯(移除多余行)

保存 本次編輯

提交成功后的項(xiàng)目最新信息:
最新修改的信息



凡是對(duì)項(xiàng)目的遠(yuǎn)程倉(cāng)庫(kù) 進(jìn)行過(guò)修改蕉毯,下次使用項(xiàng)目工程時(shí):要先抓取項(xiàng)目(防止多人開(kāi)發(fā)時(shí),之前搭檔對(duì)代碼的修改及合并思犁。 造成版本不是最新的情況)代虾,保證當(dāng)前項(xiàng)目的版本最新的。
也就是咱們?cè)诙嗳碎_(kāi)發(fā)時(shí)激蹲,第二天最好重新拉取下網(wǎng)上的最新版本棉磨!除非你是最后一個(gè)走的~~??????????

抓取(最新)遠(yuǎn)端項(xiàng)目倉(cāng)庫(kù):

抓取 項(xiàng)目修改

抓取最新項(xiàng)目版本信息后,查看項(xiàng)目的修改信息:
項(xiàng)目管理網(wǎng)站上的修改:刪除了 2行

項(xiàng)目管理網(wǎng)站上的修改:刪除了 1行


點(diǎn)擊“拉取”后学辱,再點(diǎn)擊“確認(rèn)” 獲取擁有最新信息的項(xiàng)目 :
點(diǎn)擊“確認(rèn)” 乘瓤,獲取擁有**最新**信息的項(xiàng)目

拉取 成功



再在“Finder”中环形,查看并打開(kāi) 工程

在“Finder”中打開(kāi) 工程

打開(kāi)工程后:

打開(kāi)工程后,查看 **項(xiàng)目管理網(wǎng)站**對(duì)項(xiàng)目的**修改**:</br>少了3行**多余行**



多人項(xiàng)目管理

將之前項(xiàng)目 再獲取一份在本地(選擇另一個(gè)路徑 且 為空文件夾)

從URL 克隆項(xiàng)目

點(diǎn)擊選擇**另一**個(gè)**路徑**

為自己選擇的路徑 衙傀,添加 倉(cāng)庫(kù)的項(xiàng)目名字: “git_repository”

Tips:自己選擇的路徑 必須空文件夾新文件夾抬吟,否則出現(xiàn)如下 提示:
無(wú)法克隆到非空文件夾 錯(cuò)誤提示


最新拉取的 項(xiàng)目:

最新拉取的 倉(cāng)庫(kù)項(xiàng)目



即可開(kāi)始 兩個(gè)人同時(shí)開(kāi)發(fā)一個(gè)工程!假設(shè)上方為開(kāi)發(fā)者A统抬,下方為開(kāi)發(fā)者B火本。
分別打開(kāi)所在位置(右鍵 --> 在Finder中顯示),打開(kāi)工程文件聪建!

工程文件的位置


開(kāi)發(fā)者A钙畔、開(kāi)發(fā)者B分別對(duì)工程做修改:

所做的修改


開(kāi)發(fā)者A的版本信息:

開(kāi)發(fā)者A 提交信息

開(kāi)發(fā)者A推送成功后



對(duì)于開(kāi)發(fā)者B,則需要重新拉取最新版本的工程妆偏!進(jìn)行合并繼續(xù)開(kāi)發(fā)刃鳄!當(dāng)然也可以在最終自己的代碼任務(wù)完全完成再合并!

先**抓取**開(kāi)發(fā)者A修改后的版本
再**拉取**下來(lái)
把自己的版本**提交**到本地

合并代碼塊

??????????????
現(xiàn)在合并的話钱骂,會(huì)提示沖突叔锐!因?yàn)?strong>兩個(gè)版本有不同的地方!

沖突的提示


合并與開(kāi)發(fā)者A的沖突:
沖突展示圖:sourcetree有沖突展示功能


合并沖突见秽,提交 “沖突解決后”的版本:

提交到本地的版本


再推送到服務(wù)器:

推送完成后



由于最后一次是開(kāi)發(fā)者B提交的版本愉烙!所以下次開(kāi)發(fā)時(shí):對(duì)于開(kāi)發(fā)者A,必須抓取解取、拉取最新版本步责!

開(kāi)發(fā)者A 抓取最新版本

A抓取之后,再拉取

拉取到本地之后

即得到了最新版本~~



但是開(kāi)發(fā)者B合并沖突時(shí)禀苦,不太細(xì)心(其實(shí)也就是我啦~~??)

出現(xiàn)了小錯(cuò)誤

開(kāi)發(fā)者A幫助蔓肯,修改錯(cuò)誤代碼:
修改之后的代碼

修改之后,開(kāi)發(fā)者A提交本地版本振乏、推送到服務(wù)器蔗包!
提交修改信息

推送到服務(wù)器


所以開(kāi)發(fā)者B,又需要重新抓取慧邮、拉取一次 最新版本 (所謂:自作孽调限,不可活~??????)

抓取

拉取


拉取之后,版本與開(kāi)發(fā)者A相同:

兩者版本相同

這樣開(kāi)發(fā)者A與開(kāi)發(fā)者B的項(xiàng)目版本一致了误澳!




先耻矮、后工程版本的效果圖



??Tip:如果各版本同一處代碼有不同修改,必然會(huì)有沖突忆谓。








終端命令行的使用:

直接操作git倉(cāng)庫(kù)裆装,更便捷簡(jiǎn)單!雖然沒(méi)sourcetree那么直觀哨免、形象勾扭,但是對(duì)于兩人的開(kāi)發(fā)來(lái)說(shuō),也是做夠了铁瞒!



羅列出的Git命令,如下圖:

Git常用命令







Git的操作:

Git的操作


多人開(kāi)發(fā) 及 命令行操作:

多人開(kāi)發(fā)桅滋、命令行操作




使用情況

沖突

<<<<<<< HEAD

=======
                                    

>>>>>>> a3a4813c36a88970f43873546331581a490ea114

終端的一般簡(jiǎn)易操作:

git clone <url>               //克隆網(wǎng)絡(luò)庫(kù)

git init                      //創(chuàng)建本地倉(cāng)庫(kù)
git status                  //(代碼庫(kù))狀態(tài)查看


一般操作步驟:

git add --all              //表示將所有的已跟蹤的文件的修改與刪除和新增的未跟蹤的文
件都添加到暫存區(qū)慧耍。

或者:
git add .            



git commit -m"7.0"          //提交版本信息(??本地??)



git pull                    //拉取網(wǎng)絡(luò)最新版本

    // 解決沖突.......  


git push                    //推送合并后的版本到網(wǎng)上

或者先解決沖突,再提交本地版本丐谋。


參:Git版本控制:Git沖突解決 相關(guān)錯(cuò)誤總結(jié)
git多人協(xié)作代碼合并流程


//查詢操作指令:
git log                     //打印歷史版本
git reflog                  //分支引用記錄


// git reset --hard 81bef82     //重置舊版本







很久沒(méi)動(dòng)簡(jiǎn)書(shū)了~ 這文章跨度幾個(gè)月了芍碧,也是醉了。号俐。泌豆。????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????










git pull --rebase



在D分支上執(zhí)行 git merge B 后,D就被合到A上了吏饿。
在D分支上執(zhí)行 git rebase B 后踪危,效果與merge是一樣的,但是“D-E”分支就沒(méi)有了猪落,兩個(gè)分支就合在一起了贞远。














goyohol's essay

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市笨忌,隨后出現(xiàn)的幾起案子蓝仲,更是在濱河造成了極大的恐慌,老刑警劉巖官疲,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袱结,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡途凫,警方通過(guò)查閱死者的電腦和手機(jī)垢夹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)颖榜,“玉大人棚饵,你說(shuō)我怎么就攤上這事⊙谕辏” “怎么了噪漾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)且蓬。 經(jīng)常有香客問(wèn)我欣硼,道長(zhǎng),這世上最難降的妖魔是什么恶阴? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任诈胜,我火速辦了婚禮豹障,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘焦匈。我一直安慰自己血公,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布缓熟。 她就那樣靜靜地躺著累魔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪够滑。 梳的紋絲不亂的頭發(fā)上垦写,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音彰触,去河邊找鬼梯投。 笑死,一個(gè)胖子當(dāng)著我的面吹牛况毅,可吹牛的內(nèi)容都是我干的分蓖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼俭茧,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼咆疗!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起母债,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤午磁,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后毡们,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體迅皇,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年衙熔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了登颓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡红氯,死狀恐怖框咙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情痢甘,我是刑警寧澤喇嘱,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站塞栅,受9級(jí)特大地震影響者铜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一作烟、第九天 我趴在偏房一處隱蔽的房頂上張望愉粤。 院中可真熱鬧,春花似錦拿撩、人聲如沸衣厘。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)头滔。三九已至,卻和暖如春涎显,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背兴猩。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工期吓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人倾芝。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓讨勤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親晨另。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潭千,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,099評(píng)論 25 707
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,663評(píng)論 4 54
  • 這一次,我一點(diǎn)也不閑扯其他的事情路翻,就想和大家分享一些學(xué)習(xí)吉他的心得要領(lǐng)狈癞,給準(zhǔn)備入門(mén)或是正在學(xué)習(xí)路上迷惘的吉他愛(ài)好者...
    黎英強(qiáng)閱讀 74,651評(píng)論 413 2,623
  • 最近受皮膚問(wèn)題的困擾,心情也受到了影響茂契,晚上在做看書(shū)筆記時(shí)蝶桶,猛的看到鏡子里的自己被美到,沒(méi)錯(cuò)掉冶,就是被美到真竖,比想象中...
    梅利醬閱讀 210評(píng)論 0 0