git push 代码提交遇到failed to push some refs to…的报错
先git pull --rebase origin master
后再进行相关提交操作,具体可参考https://blog.youkuaiyun.com/mbuger/article/details/70197532
git push 代码提交遇到error Missing tree报错
这个一般是之前的某笔提交被abandon导致,在push
提交时添加--no-thin
参数,具体可参考https://blog.youkuaiyun.com/liuxu0703/article/details/54289873
codereview冲突解决
提交代码到服务器上后,发现冲突,有两种解决方式:
- 本地代码直接更新到最新,然后将服务器上的冲突的提交
cherry-pick
到本地,解决冲突文件后重新commit
(一般不需要填写commit信息,会自动填入相应内容),再次提交 - 本地代码更新,将服务器提交
cherry-pick
到本地,然后执行git reset HEAD
,查看文件是否还存在,如果存在,请解决冲突,然后重新commit
,填写commit信息时直接赋值服务器上提交的BUG ID,DESCRIPTON,CHANGED-ID等。
两种方式推荐第二种。
repo init --depth=1后拉取具有更多git log
有时候拉取代码为了不占用本地空间,对于不需要的东西可以不用拉取,在repo init
时加上--depth=1
的参数,拉取下来的代码执行git log
时,只能看到一条commit记录,为了获取更多的commit记录,可使用如下两种方式:
git pull --depth=xxx origin branch_name
,xxx是想拉取的commit的数量;git pull --unshallow origin branch_name
,unshallow命令会直接去掉之前更新时加的限制。
代码sync报错
拉取代码执行repo sync时报错,提示有冲突,和本地的修改不一致,此时一次执行如下命令,重新sync
git rebase --abort
git reset --hard HEAD~20
repo sync .