Git遠端倉庫Github
阿新 • • 發佈:2020-12-16
克隆專案
1.克隆遠端倉庫的命令
git clone https://github.com/zhangxiaochuZXC/test007.git
2.配置經理身份資訊
cd Desktop/manager/test007/ git config user.name '經理' git config user.email '[email protected]'
3.推送專案到遠端倉庫
add . # 暫存區提交到倉庫區 git commit -m '立項' # 推送到遠端倉庫 git push
# 推送到指定分支
git push origin 分支名
4如果在每次 push 都需要設定賬號與密碼,那麼可以設定記住密碼
設定記住密碼(預設15分鐘): git config --global credential.helper cache 如果想自己設定時間,可以這樣做(1小時後失效): git config credential.helper 'cache --timeout=3600' 長期儲存密碼: git config --global credential.helper store
程式碼衝突
提示:多人協同開發時,避免不了會出現程式碼衝突的情況
原因:多人同時修改了同一個檔案
危害:會影響正常的開發進度
注意:一旦出現程式碼衝突,必須先解決再做後續開發
程式碼衝突演練
1.張三先編輯login.py
檔案程式碼
進入張三本地倉庫:cd Desktop/zhangsan/test007 拉取伺服器最新程式碼:git pull 編輯程式碼:num3 = 30 本地倉庫記錄版本:git commit -am '第三個變數' 推送到伺服器倉庫:git push 張三本地倉庫和遠端倉庫程式碼如下:
2.經理後編輯login.py
檔案程式碼
進入經理本地倉庫:cd Desktop/manager/test007/ 編輯程式碼:num3 = 300 本地倉庫記錄版本:git commit -am '第三個變數' 推送到伺服器倉庫:git push 以上操作會出現程式碼衝突 提示需要先pull
3.解決衝突
原則:誰衝突誰解決,並且一定要協商解決
方案:保留所有程式碼 或者 保留某一人程式碼
解決完衝突程式碼後,依然需要add、commit、push
提示:如果張三執行pull
沒有影響,就算真正解決了衝突程式碼
補充:
容易衝突的操作方式
多個人同時操作了同一個檔案
一個人一直寫不提交
修改之前不更新最新程式碼
提交之前不更新最新程式碼
擅自修改同事程式碼
減少衝突的操作方式
養成良好的操作習慣,先pull在修改,修改完立即commit和push
一定要確保自己正在修改的檔案是最新版本的
各自開發各自的模組
如果要修改公共檔案,一定要先確認有沒有人正在修改
下班前一定要提交程式碼,上班第一件事拉取最新程式碼
一定不要擅自修改同事的程式碼
標籤
- 當某一個大版本完成之後,需要打一個標籤
-
作用:
- 記錄大版本
-
備份大版本程式碼
模擬經理打標籤
1.進入到經理的本地倉庫test007 cd Desktop/manager/test007/ 2.經理在本地打標籤 git tag -a 標籤名 -m '標籤描述' 例: git tag -a v1.0 -m 'version 1.0'
3.經理推送標籤到遠端倉庫
git push origin 標籤名
例:
git push origin v1.0
補充:刪除本地和遠端標籤 # 刪除本地標籤 git tag -d 標籤名 # 刪除遠端倉庫標籤 git push origin --delete tag 標籤名
分支
作用:
區分生產環境程式碼以及開發環境程式碼
研究新的功能或者攻關難題
解決線上bug
特點:
專案開發中公用分支包括master、dev
分支master是預設分支,用於釋出,當需要釋出時將dev分支合併到master分支
分支dev是用於開發的分支,開發完階段性的程式碼後,需要合併到master分支
模擬經理分支操作
1.進入到經理的本地倉庫test007 cd Desktop/manager/test007/ 2.檢視當前分支 git branch 沒有建立其他分支時,只有master分支 3.經理建立並切換到dev分支 git checkout -b dev 4.設定本地分支跟蹤遠端指定分支(將分支推送到遠端) git push -u origin dev 5.經理在dev分支編輯程式碼 6.管理dev分支原始碼:add、commit、push
7.dev分支合併到master分支 提示:只有當dev分支合併到master分支成功,張三才能獲取到num4 7.1 先切換到master分支 git checkout master 7.2 dev分支合併到master分支 git merge dev 7.3 經理推送合併分支操作到遠端倉庫 合併分支預設在本地完成,合併後直接推送即可 git push
8.張三同步經理合並後的num4 只有當張三同步程式碼成功,分支合併才算成功 cd Desktop/zhangsan/test007/ git pull
'''1. 從master分支切換到dev分支進行開發''' git checkout -b dev master # 從master分支建立dev開發分支 git branch # 可以看到現在已經切換到dev分支了 vim Readme # 模擬在專案中修改程式碼 git add . # 把工作區中所有變更全部提交到(暫存區) git commit -m 'in dev' # 把暫存區程式碼提交到本地git倉庫(本地git倉庫) git push origin dev # 把程式碼先推倒dev分支,讓測試人員測試 '''2. 當測試人員測試完成後將dev分支程式碼合併到master形成文件版本''' git checkout master # 開發完成後,需要合併回master分支,先切換到master分支 cat Readme # 可以看到master分支的內容沒有修改 git merge --no-ff dev # 將剛剛dev中修改的程式碼合併到master git push origin master # 將本地倉庫的程式碼推送到線上倉庫(線上git倉庫)