1. 程式人生 > 實用技巧 >Git遠端倉庫Github

Git遠端倉庫Github

克隆專案

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倉庫)