核心分支說明
-
主分支(master/production)存放隨時可部署到生產環境的穩定代碼,僅接受通過測試的合并請求。
-
開發分支(develop)集成所有功能開發的穩定版本,日常開發的基礎分支,從該分支創建特性分支
-
特性分支(feature/*)命名規范:
開發流程:feature/功能描述_開發者標識
(如feature/login_zhangsan
)-
git merge develop # 定期同步主干代碼
-
git push origin feature/new_module # 推送遠程
-
git pull origin develop
-
git checkout -b feature/new_module # 從develop創建分支
-
git 分支開發命令
操作 | 命令 |
查看當前分支 | git branch( |
從倉庫拉取分支 | git fetch origin 分支名 |
切換分支 | git checkout 分支名 (將當前分支的修改帶過去 git checkout -b 分支名) |
拉取最新分支 | git pull origin 分支名 (pull=fetch+merge) |
刪除未跟蹤的和未添加到暫存區的文件和目錄 | git clean -n 預覽 git clean -fd 刪除 |
恢復修改的文件 | git restore 文件名 |
刪除分支 | git branch -D 分支名 # 強制刪除未合并分支-D |
遠程分支覆蓋本地 | git reset --hard origin/master (覆蓋修改的文件) |
提交暫存區 | git add 文件名 (不建議用 git add .) |
移出暫存區,保持修改 | git reset HEAD (移出所有) git reset HEAD 文件名 |
查看提交狀態 | git status |
查看代碼區別 | git diff --cached git diff --no-index (比較兩個未跟蹤的文件) git diff branch1:a.sh -- b.sh (比較分支中的a和本地b) |
提交暫存代碼 | git commit -m 'icafe-id icafe-name' |
刪除本地和暫存區文件 | git rm 文件 |
多次commit | git commit --amend |
查看最近的commit | git log |
查看特定的 commit | git show <commit-hash> |
撤回上一次commit | git reset HEAD~1 (包括add) |
回退到合并前的狀態 | git reset --hard ORIG_HEAD (慎用) |
提交至遠程倉庫 | git push origin HEAD:refs/for/分支名 |
cr評審 | 如果代碼評審沒通過,再次修改時,不能使用git commit -m ,要使用 git add git commit --amend //合并本次與上次提交,加-m 卡號和注釋,可以修改,但是是新起一個cr git push origin HEAD:refs/for/分支名 已合分支,合并master需要修改 拉分支,重新修改分支再提交 沖突解決 git fetch origin # 獲取遠程最新代碼 git pull origin 當前分支 # 合并遠程變更到本地 git status # 查看所有沖突文件(標記為"Unmerged paths") git checkout --ours 目錄/ # 整個目錄保留當前分支修改 git checkout --theirs 目錄/ # 整個目錄采用合并分支修改 其他push錯誤 https://cloud.baidu-int.com/icloud/iCode/Git-client-message/push_error/#too_many_commits |