clone with commit-msg hook + ssh 链接直接在终端回车进行下载
这里涉及到一个公钥配置
解决 cannot merge 问题
- git fetch origin develop
- git rebase origin/develop
- 修改冲突的文件
- git rebase --continue
- git commit --amend
- git push origin HEAD:refs/for/develop
关联远程分支
- git checkout -b develop origin/develop
删除本地分支
- git branch -D develop
本地分支改名
- git branch -m old new
自己提交的代码,需要改了之后在提交的
- 修改代码
- git add 修改的文件
- git commit --amend
- 推向远端 git push origin HEAD:refs/for/develop
本地提交但未提交到远程分支,退回到本地提交之前
保留提交内容
- 输入 git log 查看并拷贝提交的 id
- git reset 提交的id
不保留提交内容
- git reset --hard 提交的id
git reset 三个模式
- --soft 回退到commit之前 git reset --soft HEAD^
- --mixed 回退到add之前 git reset --mixed HEAD~2
- --hard 回退到没修改代码前(删除修改的代码) git reset --hard HEAD~3
git提交代码到远程分支,退回到提交之前
保留提交内容
- 输入 git log 查看并拷贝提交的 id
- git reset 提交的id
不保留提交内容
- git reset --hard 提交的id
合并远程A分支到B分支
- 拉远程A到本地(切换对应A分支,并更新到最新)
- git checkout 分支B
- 更新远程B代码到最新
- git merge 分支A(注意此时是在分支B)
- 解决冲突(一般是用A覆盖B的,可在gerrit上查看A分支代码情况,特殊文件检查在A分支的状态)
- 解决后√直接提交,或用 git add / commit - m 'xxx'(这个不提倡)
- git push origin HEAD:refs/for/B分支 推到远端