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 .