git合作開發流程
一、創建項目與管理
創建項目和管理項目都是管理帳號需要做的事情,如果只是合作開發不進行管理,只需要瀏覽第二部分的內容即可。
1.創建項目
登錄程式碼託管網站,點擊添加項目,如下圖所示:
填寫相應的項目資訊,如下圖所示:
完成會生成項目的url,複製url後面會使用到,使用指令時需要注意每個項目的都不一樣,如下圖所示:
在本地創建項目文件,並創建項目說明文件「README.md」,如下圖所示:
打開git執行如下命令操作
初始化git bash客戶端,進入創建的項目文件夾執行如下命令(也可以想項目文件夾中右鍵打開,省去cd命令)
git init
把文件添加到緩衝區,並添加註釋資訊
git add README.md
git commit -m "first commit"
註:在 Linux 系統中,commit 資訊使用單引號 ‘,Windows 系統,commit 資訊使用雙引號 “。
推送創建的倉庫,其中url是之前複製的
git remote add origin url
git push -u origin master
執行以上命令操作後,項目便創建成功了,如下圖所示:
2.添加協作者
點擊倉庫設置,添加協作者,及協作者的操作許可權,如下圖所示:
這樣簡單的git項目就創建完成了。能訪問到項目的協作者便可以開始項目的編寫了。
3.合併請求管理
當有人發起合併請求時,會有相應的資訊提醒,可以查看具體的請求說明,如下圖所示:
查看明細後,如果覺得沒問題後,點擊合併請求即可完成程式碼的合併。如下圖所示:
合併完成後,協作人員只需要拉取一下主分支的程式碼即更新本次更改的內容。
二、git倉庫使用
1.派生主分支
登錄協作者的帳號即可使用相應的項目,如下圖所示:
選擇自己需要的項目並單擊進入,此時便可以看到克隆的url,合作中不建議直接克隆主分支的項目,需要派生自己的分支,如下圖所示:
派生完成後會發現項目的路徑與主分支的不同,複製個人派生的url,如下圖所示:
2.配置遠程倉庫
打開git bash 使用git clone url命令克隆分支倉庫,其中url是個人派生出來的url
git clone url
添加遠程倉庫fork的上游主庫,其中rul是主分支的url
git remote add upstream url
查看倉庫的設置地址
git remote -v
能看到origin和upstream的地址,則說明配置成功,如圖所示:
到此倉庫配置已經完成,接下來便可以進行開發了。
2.更新本地倉庫
每次編寫程式碼時,記得同步遠程倉庫到本地資源庫,保證本地倉庫和遠程倉庫的程式碼一直性
git pull upstream master
git pull origin master
注意:其中origin是更新個人分支到本地倉庫,upstream是更新主分支到本地資源庫,因為個人分支的程式碼多數只能自己更改,一般情況下個人分支的程式碼和本地基本一致所以更新origin的頻率會少一些。主要是主分支由於協作的人較多,程式碼變動很大。
3.提交程式碼
提交程式碼之前記得再次同步主分支的程式碼,也就是說執行以下步驟是記得使用git pull upstream master
,這樣能保證在合併時避免和主分支的程式碼產生衝突。
添加所有更新至本地快取
git add .
查看快取區狀態
git status
提交到說明,便於版本管理
git commit -m "提交說明"
提交到遠程個人倉庫(個人倉庫名+分支名)
git push origin master
這樣已經完成程式碼的提交,提交完成後還需要將自己分支的程式碼合併到主分支。
4.程式碼合併
去遠程管理倉庫進入到個人分支,點擊創建合併請求,如下圖所示:
選擇需要合併到的分支以及拉去程式碼的位置,如下圖所示:
完成後點擊創建合併請求並填寫合併請求的說明已經更改程式碼的功能,便於管理員對程式碼進行管理。如
下圖所示:
到此個人開發的流程已經完成了,最後只需要理員同意合併請求便可以在主分支看到個人更改的程式碼。
三、git其他指令
1.強制拉取覆蓋
強制拉取個人分支,並覆蓋本地倉庫,主要用於自己刪除本地文件後無法通過更新下載已刪除的文件時使用,當然可以回滾至上一版本。
git fetch --all
git reset --hard origin/master
git pull
2.本地指令
git config --list #查看配置資訊
git init #初始化倉庫
git add 1.txt #添加文件至快取
git add . #添加所有文件至快取
git rm 1.txt #刪除文件
git status #查看倉庫狀態
git commit –m "test" #提交說明
git rm 1.txt #刪除文件
git commit -m 「test」 #刪除相應的提交
git diff a.txt #查看a.txt文件更改的內容
git log #查看提交記錄
git reset --hard HEAD^ #回滾上一個版本
git reset --hard HEAD~n #回滾n個版本
git xxx --help #查看指令幫助
3.本地倉庫上傳至遠程倉庫
git pull origin master #拉取遠程主分支
git pull --rebase origin master #拉取本地分支
git push -u origin master #提交程式碼至個人分支
git push -u -f origin master #強制上傳程式碼至個人分支
4.遠程倉庫指令
git clone url #克隆倉庫
git remote add #添加/關聯一個遠程倉庫,默認名是origin
git remote remove origin #刪除遠程庫的 origin 別名
git remote add upstream url #添加一個將被同步給fork遠程的上游倉庫
git fetch upstream #從上游倉庫fetch分支和提交點,傳送到本地,並會被存儲在一個本地分支 upstream/master
git remote #查看遠程庫的別名
git remote –v #查看遠程庫的別名和倉庫地址
git push origin master #把本地 master 分支推送到別名為 origin 的遠程庫
git branch #查看當前所有的分支,默認只有master 分支
git branch test #創建 test 分支
git branch –d test #刪除 test 分支
git checkout test #從當前分支切換到 test 分支
git checkout –b dev #創建 dev 分支,並切換到 dev 分支上
git merge dev #在當前分支上合併 dev 分支
git merge upstream/master #把 upstream/master 分支合併到本地 master 上
git merge upstream/dev #把 upstream/dev 分支合併到本地 dev 上
註:由於本次的文檔是在本地編寫的,後來圖片不小心被我刪除了,所以我在PDF文檔中截屏的,導致圖片有點模糊,希望小夥伴們不要建議。