共计 1058 个字符,预计需要花费 3 分钟才能阅读完成。
代码提交
- 回退到某个版本: git reset XXX(commit 的 id)
- 生成新的 changeID:git commit –amend(针对 gerrit,abandon 后,再次提交需要生成新的 changeId)
- 拉取代码:git pull –rebase
- 添加到暂存区:git add .
- 提交 commit:git commit -am XXXX(备注信息)(防止出现冲突和 merge 的情况,先 git pull –rebase 再 commit)
- push 到远程:git push origin HEAD:refs/for/branchName
多条 commit 合成一条 commit
git rebase -i commitId(你想要合并的几个 commitId 的之前的 commitId)
查看 log,已经变成一条 commit
分支的操作
- 新建一个分支,并切换到该分支: git checkout -b branchName(分支名)
- 推到远程分支:git push origin -u branchName(分支名)
- 切换分支 / 切换上一个分支:git branch –
- 删除本地分支:git branch -D branchName(分支名)
- 不小心删除了远程分支(本地分支还木有删除):git push origin branchName:branchName
stash
- 保存暂存区和工作区的工作进度:git stash save XXXX(进度的信息,比如修改样式)
- 查看 stash list:git stash list
- 获取 stash list 的某一个到工作区 (并在 list 删除):git stash pop stash@{2}
- 获取 stash list 的最后保存(第一个)到工作区 (并在 list 删除):git stash pop
合并代码
1.(commit 较少时,cherry-pick 合并到 dev)
- checkout dev
- git pull –rebase
- git cherry-pick commitID
- 如果有冲突,解决冲突后,git add .
- git cherry-pick –continue
- 如果想放弃合并:git cherry-pick –abort
2.(commit 较多时,rebase 合并到 dev)
- checkout dev
- git pull –rebase
- git rebase -i branchName
- 清除光标之前的所有提交记录:gg+d+G
- noop
- git pull –rebase
- 如果不是你想合并的 commit,可以忽略:git rebase –skip
- 如果有冲突,解决冲突,git add .
- git rebase –continue
- 直到所有的都 rebase 完
正文完