1. 程式人生 > >git 在命令行與圖形狀態下使用詳情

git 在命令行與圖形狀態下使用詳情

manage eset android 本地 and 等等等 發送 執行 一個

http://blog.csdn.net/risky78125/article/details/50850545

http://blog.csdn.net/risky78125/article/details/50850545

Git與SourceTree使用詳細指南

標簽: gitandroidSourceTree 技術分享 分類:

目錄(?)[+]

Git介紹

Git—>分布式版本控制系統;
這麽一說是不是就蒙圈了,咱們來舉個例子.文檔大家都寫過,那是不是會遇到這樣的問題:第一天,例如寫了Hello Lanou3g,覺得自己非常有才華,可以出篇散文了;第二天,覺得前一天寫的不怎麽好,需要改一下,改成了Hello Android;第三天,反反復復想了想,還是第一天寫的內容比較霸氣,可是第一天寫啥了???找不回來了咋辦!
那有一個比較好的辦法,保證每天寫的都能記錄下來,那就是——每次寫完都另存為一下;
終於有一天,你會修道七環(啊啊呸),你的電腦裏面有成百上千的文件版本,想找哪個,該咋辦.如果沒感覺的話把上面說的文檔換成代碼.

這個時候,厲害的東西來了,就是我們的分布式版本控制系統git,它就可以非常簡單的完成上面所說的所有工作.還有功能就是小組共同開發時用它來進行代碼的合並.

原始的git,操作起來比較麻煩,因為都是命令行操作.所以結合SourceTree來進行使用,可以做到事半功倍的效果.那麽下面就來演示一下git該怎麽玩.

Git演示

安裝git環境

既然想用git,那麽首先咱們的電腦裏面得有這個環境.Mac和Linux系統安裝非常簡單,只要在終端裏面打上三個字母:git,那麽終端就會提示你進行安裝,安裝的命令也會提示給你.至於Windows,可能就麻煩一些了,可以去找一下SourceTree的下載,然後git環境會集成在SourceTree裏面.

好了,我就當大家都下載完了.完成之後,需要在終端裏面進行一下配置,配置你個人的名字和郵箱,命令如下:

<code class="hljs python has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">git config --<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">global</span> user.name <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"Your Name"</span> git config --<span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">global</span> user.email email<span class="hljs-decorator" style="color: rgb(0, 102, 102); box-sizing: border-box;">@example.com</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>

註意這個配置的是全局的名字和郵箱,代表的是所有使用這臺電腦的人都會以這個身份進行操作.

初始化git倉庫

命令行模式

(以下操作均在mac系統下面進行)
第一步:使用終端,進入到你需要進行版本控制的目錄下面,例如我想對桌面上的gitdemo文件夾(當然桌面上面必須得有這個文件夾才行)進行版本控制:

<code class="hljs bash has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">cd</span> desktop/gitdemo</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

第二步:在該文件夾下面使用命令git init,對該文件夾進行初始化,成功之後會提示一個空的版本庫已經創建好:

<code class="hljs has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">git init</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

說的應該夠明確的了吧.

SourceTree模式

命令模式都已經會了,那用軟件來控制還不是小菜一碟.
軟件打開之後選擇:

<code class="hljs brainfuck has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">+</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">新倉庫</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span>><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">創建本地倉庫</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span>><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">選擇一個路徑</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span>><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">創建</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

技術分享

這屬於最簡單的初始化倉庫的方法了.對於我的習慣來說,我都是通過Studio創建一個工程,然後在Studio的終端裏面直接進行倉庫的初始化,非常方便.(順便一提,Studio的終端輸入漢字怎麽就一半一半的顯示啊!!)
倉庫初始化好了之後,會在文件夾裏面生成一個名叫.git的隱藏文件夾,可以通過終端命令 ls -a 進行查看.這個隱藏文件夾裏面會保存接下來的所有操作.所以千萬不要刪除了,否則會出人命的.
技術分享

版本控制

倉庫初始化完畢之後,只要是在這個文件夾下面的操作,都會被git進行管理.例如,新建一個文件/修改文件的內容/刪除文件等等,所有的操作都可以被記錄,並可以隨時找到.
下面說一下如何通過git來保存我們的操作.

命令行模式

首先介紹幾個命令:

命令功能
git status 查看倉庫當前的狀態
git add 文件路徑加文件名 將該文件添加到暫存區
git add . 將該文件夾下所有有變動的文件都加到暫存區
git add -A 同上
git commit -m “備註” 將暫存區的文件提交到倉庫

下面我會通過命令演示一下:
我會創建一個文件,例如README.md,裏面寫一些內容.然後通過git status 查看一下當前的狀態,如下:
技術分享

可以看到新建的文件是紅色的.代表的意義就是該文件還未添加到暫存區,也就是還沒有執行git add 這個命令.
接下來可以通過git add README.md或者git add .或者git add -A來將此文件添加到暫存區.然後再查看一下狀態:
技術分享

可以看到,竟然變綠了.而且前面提示了,這是一個新的文件.變綠色了之後,就可以通過git commit -m "備註"來將此文件添加到倉庫了,然後再查看一下狀態,如下:
技術分享

可以看到,文件成功提交.提交之後再查看狀態,會提示工作區clean,也就是沒有什麽文件有變動.
這樣一來,寫代碼的時候可以隨時提交一下,並寫好備註,世界竟然入刺的井猜.

SourceTree模式

同樣的,命令行都會了,用軟件真是太簡單了.
第一步找到剛剛新建的倉庫:
技術分享

第二步雙擊打開,然後跟著感覺走:

技術分享

版本回退

強悍的git可以保存你每次commit的記錄,並可以在每次的記錄間進行切換.下面我為了演示,自己先多commit幾次.

命令行模式

首先,通過命令git log可以看到每次提交的歷史記錄
技術分享

可以通過commit標識,來進行相應的版本回退.git log顯示的歷史記錄比較詳細.大家也可以通過git reflog命令來獲取簡版的歷史記錄,如下:
技術分享

版本回退的命令,請看下表:

命令功能
git reset –hard HEAD^ 回退到上一個版本
git reset –hard HEAD^^ 回退兩個版本
git reset –hard HEAD~100 回退100個版本
git reset –hard xxxxx(commit的id) 回退到對應的版本

實際上一般最後一個命令是比較常用的,例如我現在需要回退到一開始的版本,那麽我只需要在終端中輸入git reset --hard 350e137即可
技術分享

現在如果再打開README.md文件,會發現後來提交的內容已經不見了.
可以試一下現在使用git log命令會怎麽樣.可以發現,提交的歷史記錄只剩一個了!我還想回退該怎麽辦??不要心慌不要著急,請使用git reflog命令來查看記錄,找到對應的commit id.

SourceTree模式

看圖就能明白了,so easy啊.可以看到,每次提交都有記錄的.如果想回到哪個版本,直接雙擊.
技術分享

遠程倉庫

如果只能在當前電腦上面進行版本控制那就也太沒意思了,git重要功能之一即為可以創建遠程倉庫.也就是我們所有的提交修改等等記錄都會保存到遠程,也就是保存到網站上面.遠程倉庫常用的有兩種認證模式,一種是SSH,一種是HTTPS.下面的例子都是用HTTPS,如果想了解SSH,請查看我的另一篇博客:
http://blog.csdn.net/risky78125/article/details/50117701
既然要添加遠程倉庫,首先得有一個遠程倉庫.到全球最大的程序員同性交友網站github註冊個賬號,並創建個倉庫.
登陸成功後,點擊屏幕右上角頭像附近的+,選擇new repository.然後如下:
技術分享

創建的這個README文件裏面的內容,會在創建好的倉庫網頁上面顯示,內容的格式同樣是markdown.
.gitignore文件後面咱們再說.

倉庫創建完成之後看到一個網址,例如:
https://github.com/risky78125/gitdemo.git
這個就是遠程倉庫的地址,咱們接下來需要做的,就是將這個網址和本地倉庫進行綁定.

命令行模式

綁定遠程倉庫的命令:

<code class="hljs avrasm has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">git remote <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">add</span> origin https://github<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.com</span>/risky78125/gitdemo<span class="hljs-preprocessor" style="color: rgb(68, 68, 68); box-sizing: border-box;">.git</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

其中origin為遠程倉庫的名字,一般都這麽起.
使用命令git push -u origin master將本地的提交記錄上傳到遠程倉庫.當然,如果創建遠程倉庫時直接創建了README和.gitignore文件的話,則需要先把遠程的文件拉取到本地,然後才能推送.也就是先執行命令git pull origin master,然後才能push.

之前說了,origin是遠程倉庫的名字,那麽master呢,實際上是分支名字.分支的概念接下來會介紹.

SourceTree模式

<code class="hljs brainfuck has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">設置</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span>><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">遠程倉庫</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span>><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">添加</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span>><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">輸入名稱origin</span><span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">,</span><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">URL/路徑</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span><span class="hljs-literal" style="color: rgb(0, 102, 102); box-sizing: border-box;">-</span>><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">確定</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

這樣就設置好了遠程倉庫.可以點擊推送,將本地的所有提交都發送到遠程.

遠程倉庫的克隆

代碼推送到遠程之後,可以通過克隆,將所有的提交等歷史操作都拉取到任意一臺有git環境的電腦上,而不是簡簡單單的將代碼下載下來.

命令行模式

非常簡單,git clone 倉庫地址,例如剛才的倉庫:

<code class="hljs php has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">git <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">clone</span> https:<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">//github.com/risky78125/gitdemo.git</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>

SourceTree

也非常簡單,點擊+新倉庫-->從URL克隆.

.gitignore文件

通過名字可以看出一些端倪,忽略.大家可以想象,提交修改時,有很多無意義的文件我們沒有必要去提交,沒有必要去關註它們是否有修改.例如Android編譯之後的.class文件,生成的.apk文件等等等等,這些文件都是隨時在各種變化,如果git追蹤他們的話,會占用大量的時間和空間.所以,把這些文件名或文件夾寫入到.gitignore文件中,就會自動忽略它們的修改.

團隊協作

分支

現在想象一下下面描述的情況.一個團隊有兩個人A和B.
A完成他自己的功能需要兩天,那A該怎麽提交修改?隨時提交的話,因為功能還未完成,很可能就導致B無法工作.那兩天後再提交呢,很可能兩天之內出現什麽事兒,導致A的代碼丟了.
分支的出現即可以解決上面所說的問題,A和B每個人都新建屬於自己的分支,提交修改都是在自己的分支上面進行,互不幹擾.功能都完成之後,兩個分支合並到一起,OK了,非常完美.
前面提到了一下,master其實就是個分支,但是它是主分支.主分支一定要是最穩定的分支,意思就是別有事兒沒事兒就往master分支上面合並代碼,一定要完全測試沒有問題了,馬上要發布了,再合並到master分支上面.
一個團隊,理想情況下的分支是這樣的.
一個master分支,一個develop分支,團隊裏的每個人都有一個分支,每個人的每個功能都有一個分支.
技術分享

當然,項目過程中可以縮減一層,也就是每個人都在develop分支上面直接根據功能創建分支,功能完成之後直接合並到develop分支上面.

命令行模式

命令功能
git checkout -b develop 創建一個名為develop的分支,並切換到該分支
git branch develop 創建一個名為develop的分支
git checkout develop 切換到develop分支
git branch 查看所有分支和當前分支
git merge develop 將develop分支合並到當前分支

SourceTree

點擊分支,可以創建新的分支.點擊合並,可以選擇將哪個分支合並到當前分支.雙擊分支,即可切換到對應的分支.

沖突解決

在團隊合作中,無法避免的兩個人會同時修改同一個文件,這時候合並就會產生沖突.下面我用兩個分支來模擬一下.我在develop分支上面,修改一下文件,並提交修改.然後切換到master分支上面再次修改該文件.之後進行代碼合並.合並之後,內容如下:

<code class="hljs asciidoc has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">1.創建了一個文件,叫做README.md 2.為了演示,第二次commit; 3.第三次commit; 4.創建了develop分支,並寫下該內容 <<<<<<< HEAD <span class="hljs-header" style="box-sizing: border-box;">5.本條信息是在master分支上寫下的 =======</span> 6.本條信息是在develop分支上寫下的. >>>>>>> develop</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; "><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li></ul>

可以看到,合並之後的代碼會多出來一些符號,這即是沖突.那麽解決起來也很方便,判斷一下沖突的位置,應該怎麽保留,然後把多余的信息和符號刪除,再提交一下修改即可.

SourceTree軟件的使用

當然了,SourceTree能實現的功能,使用命令行肯定都可以實現.工具的出現就是為了方便大家.
現在有個新的倉庫,只要點擊git工作流,會自動創建分支:
技術分享

就問你牛(diao)不牛(diao)!!!
初始化之後,再次點擊git工作流,會出現選項,點擊任何一個,都會根據之前創建的規則創建分支!
技術分享

例如點擊建立新的功能,會自動在develop分支上面再創建一個分支,功能的名字需要自定義一下.之後即可對這個功能寫代碼了.功能完成之後再次點擊git工作流,會有完成當前版本,即把當前的功能分支合並到develop分支上面.非常簡單.完成之後是這樣的:
技術分享

這個功能完成之後,就可以把develop分支推送到遠程倉庫.點擊推送-->選擇develop-->確定.這樣一來,其他人就可以通過遠程倉庫,把develop分支拉取下來,與自己的功能進行合並.如果有沖突,則需要在本地進行沖突解決,並且解決完之後一定要再次推送到遠程.這樣與你有沖突的人拉取完之後即是解決沖突完畢後的版本

git 在命令行與圖形狀態下使用詳情