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 .
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章