一. 基本流程
- clone到本地文件夾
git clone http://10.6.46.215:88/cofco/crp-service-python.git
- 創建遠程倉庫
// 關聯遠程倉庫
git remote add origin [email protected]:path/repo-name.git
// 向遠端推送(第一次)
git push -u origin master
// 之後的同步更新
git push origin master
- 添加用戶
git config --global user.name "John Doe"
git config --global user.email [email protected]
- 提交前準備
git log // 查看日誌
git add . // 添加到暫存區
- 添加註釋
git commit -m "xxxxx"
- 提交
git push
二. 分支管理
- 創建/切換分支
git branch dev // 創建分支
git checkout dev // 切換分支
git checkout -b dev // 創建並切換分支
git branch // 查看當前分支
- 創建/切換分支
git switch -c dev
- 合併分支
git merge dev // 合併指定分支到當前分支
git merge --no-ff -m "" dev // 禁止Fast forward的合併, 好處是記錄了合併信息, 否則無法知道是否有合併發生
- 刪除分支
git branch -d dev // 刪除本地分支
git push origin --delete dev // 刪除遠程分支
三. 回滾/恢復操作
- 查看日誌
git log // 可以看到每次提交的信息和 commit id
git reflog // 查看歷史輸入命令
- 暫存區/版本回退
git reset HEAD file_name // 將暫存區修改回退
git reset --head HEAD^ // 回退到上個版本
git reset --head HEAD~n // 回退到前n個版本
git reset --head commit-id // 回退到指定版本
- 撤銷修改
- 場景1:撤銷工作區的修改,用命令git checkout --file
。
- 場景2:撤銷暫存區的修改,首先使用 git reset HEAD <filename>
回到場景1的狀態,然後按場景1操作。
- 場景3:撤銷本地分支的修改,使用 reset
回退到指定版本,不過前提是沒有推送到遠程庫。
- 從版本庫刪除
git rm file_name
git commit -m ""
四. 同步更新
- 本地 dev 分支更新同步到遠端 master 分支
git checkout master // 切換到本地 master 分支
git merge dev // 將 dev 分支更新合併到本地 master 分支
git push -u origin master // 將本地 master 更新同步到遠端 master
- 遠端 master 分支更新同步到本地及遠端 dev 分支
git checkout master // 切換到本地 master 分支
git pull // 將遠端 master 分支更新同步到本地 master 分支
git checkout dev // 切換到本地 dev 分支
git merge master // 將本地 master 更新同步到本地 dev 分支
git push -u origin dev // 將本地 dev 分支更新同步到遠端 dev 分支