先去熟悉一波git和sourcetree的基礎?知識。
然后就開始我的git和sourcetree之旅:
幾個概念先解釋一遍:
項目代碼倉庫:也就是你在git后臺看到的gametea/GameLobby,其中GameTea就是項目組的代碼倉庫路徑,后面的GameLobby,就是具體的項目了。
自己代碼倉庫:一般開發人員并不是在項目倉庫代碼上開發的,而是執行下面的步驟4生成自己的代碼倉庫,eg:金鑫/GameLobby,然后在自己的代碼倉庫開發,開發完成之后,再請求合并到項目代碼倉庫中(記住一個概念,這里fork出來自己的代碼倉庫之后,你就徹底和項目的代碼倉庫脫離關系了,也就是說項目代碼那邊如果后續有新的更新,你這邊也不會有變化。至于如何更新項目代碼倉庫的代碼到自己這邊,請看下面步驟13)
本地代碼倉庫:就是執行下面的7~11步驟,拉到本地的代碼,這時候就有一個本地的代碼倉庫了,每天寫的代碼,是可以先提交到本地代碼倉庫的,等開發完成,再提交到線上自己的代碼倉庫(用的地方:當處在離線狀態時,這時候不能提交線上的代碼倉庫,但是又要區分記錄每天都干了什么的時候,就可以先提交到本地的代碼倉庫中,等有網絡了,再提交到線上的代碼倉庫中。實際開發的時候這樣的情況比較少,但是這個概念需要知道。)
Branch分支,每次開發新功能的時候,都需要創建新的分支來開發,當功能測試完成,可以上線的時候,就合并到主干中。
Master主干代碼(其實也是一種分支,只不過是特殊的分支),這個主干代碼要保證穩定性,也就是說別人拉的代碼都是可以跑的,可以發布的。
Tag標簽。當一個版本開發完成,代碼也從分支合并到主干之后,就可以打Tag了。特別是要發熱更新了,就更要打Tag,方便之后熱更新出問題了,可以從這個tag去調試。
1.如果你沒有git賬號,就找:哆啦A夢—欒樂 開一個git賬號,需要給她提供你的域賬號
2.開好賬號找項目負責人開具體代碼權限
3.進入git后臺,進入project項目目錄,點擊項目
4.點擊里面的fork按鈕,fork出自己的代碼倉庫
5.
6.這時候回到project目錄,就有一個自己的代碼倉庫
7.點進去,復制里面的代碼地址,然后打開sourcetree
8.新建本地代碼倉庫,將線上的代碼拉到本地倉庫中
9.
10.注意一定要勾選遞歸子模塊。
11.其中檢出分支,填寫需要開發的分支
12.填寫好之后,點擊克隆,拉自己代碼倉庫的這個分支代碼到本地倉庫中。
13.將項目代碼倉庫關聯過來,操作步驟:點擊倉庫中的項目設置:
然后點擊彈出界面的“添加”按鈕
名稱填gametea,也就是項目組名字,url先項目代碼路徑,
點擊確定就會出現如下界面:
再點擊確認之后,遠程里面就會多一項:
14.如何將項目組代碼更新到自己代碼倉庫中:點擊拉取,然后再彈出的框中,從遠端拉取,改成gemetea,這時候會發現界面的要拉取的遠端分支空白了,點擊一下刷新就有了。然后從里面選擇具體的分支。然后點確定,就能把項目倉庫代碼拉到自己的代碼倉庫中。
Ps:如果這時候你改過一些代碼了,并且這些代碼剛好別人也改了,他已經先提交到項目代碼倉庫中去了,這時候就會報錯了。
我的解決方案:
看他報錯的文件是哪些,然后去對應路徑下面,右鍵,用git工具diff一下,看看自己改了什么,然后腦子里大概記住,然后把這些文件處置到外面的一個文件夾中,然后再用git工具revert上面的那些文件,再去拉代碼,就可以拉下來的。拉完之后,把備份的文件再替換過來,diff一下,對比差異(因為此時是替換,所以里面之后你的代碼,已經沒有別人修改的代碼了),所以你還原一下比人的代碼。(不適合有大量沖突的情況,因為你腦子記不住那么多東西)
我的解決方案二:
另外專門起一個代碼提交本地倉庫,只做代碼提交,不做代碼開發。里面也拉了自己的代碼,也關聯了項目組代碼倉庫,因為里面沒有開發代碼,所以拉了項目組代碼倉庫,也不會有沖突。拉完之后,這個本地倉庫和你那個開發本地倉庫,用比較工具Beyond Compare整體去比較一下,然后把你改的東西,從你開發倉庫,合并到你的提交代碼倉庫,合并完之后,再從提交代碼倉庫提交。
解決方案三:
有待補充,哈哈,其實是我沒用過,不知道,有人在用。
15.合并好之后,就要選擇你要提交的代碼了
點擊工作副本,這時候未暫存的文件中就會顯示你這是改了哪些文件,或者新增了哪些文件
Ps:新增和重命名,也可以先svn那邊右鍵直接添加。
每個文件點擊一下,右邊會展示,這次都改了什么,提交代碼的時候,一次要仔細看是否是自己寫的,還有是否有測試代碼,注意刪除。確認都沒問題,點擊stage selected這個按鈕,就會添加到上面已暫存文件中,然后所有文件都確認完了,就可以點下面的提交按鈕了。
Ps:注意如果你沒有勾選框出來的立即推送變更到origin/mster,只是提交到本地代碼倉庫中而已,只有勾選了才會推送到線上自己代碼倉庫中。
Ps:如果忘記勾選了怎么辦,不要慌,推送到時候這個推送會有紅色角標出現,你再點一下推送就推過去了
16.推送到自己代碼倉庫之后,就可以合并到項目代碼倉庫了,合并流程:到git后臺,點擊左上角菜單中的Merge Requests, 然后再點擊右上角New... 選中你的代碼,
然后左邊就是你的代碼倉庫,右邊是項目的代碼倉庫,選一下分支,注意兩邊要一致,分支要一致,分支要一致,分支要一致(放心,不一致,你提交上來的合并,我也會給你打回去,除非你是管理者,你自己可以同意合并的,你合并錯了就脫出去吊打,雖然還有回退功能)
然后就可以點下面的綠色按鈕了,
之后會再彈出來一個和項目代碼不一致的列表,你可以再檢查一遍,是不是這次提交的都是你改的東西。然后點擊Submit merge request就提交合并成功了。
17.怎么拉分支:要了解怎么拉分支,先要知道,怎么創建分支:先去項目組代碼里面創建一個分支。很簡單,直接去git后臺,項目下面,點branch,然后再點create branch就行了。
創建分支,其實就是從當前master主干代碼,拷貝一份出來作為分支代碼了,之后其他人如果提交合并到master上去了,你這邊的branch里面都不會有這些代碼。
項目組代碼有了新的branch之后,自己這邊怎么也有一份一模一樣的呢,最簡單的方法就是,把自己的代碼倉庫remove掉,然后重新從項目組代碼那邊fork一份出來。
之后branch代碼怎么合并到master中,然后branch里面怎么拉取master里面的代碼,之后再補充。
待續!!!!