Git代码提交/拉取报错处理

git push 代码提交遇到failed to push some refs to…的报错

git pull --rebase origin master后再进行相关提交操作,具体可参考https://blog.csdn.net/mbuger/article/details/70197532

git push 代码提交遇到error Missing tree报错

这个一般是之前的某笔提交被abandon导致,在push提交时添加--no-thin参数,具体可参考https://blog.csdn.net/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 .
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章