git 常見問題處理(命令行和webstrom操作)

 

目錄

1、Git衝突解決

1.1、命令行操作

1.2、webstrom操作

2、覆蓋本地代碼,同步遠程倉庫的代碼

2.1、命令行操作

2.2、webstrom操作

3、合併分支代碼到指定分支

3.1、命令操作(此處以test合併到liuxin爲例)

3.2、webstrom操作

4、常見報錯處理

4.1、無權限push

5、更換遠程倉庫地址

5.1、命令行方式

6、同步倉庫分支到本地


 

1、Git衝突解決

(要點就是單個文件處理,提交後再操作,循環往復,直到衝突全部解決)

1.1、命令行操作

  • 操作(如pull)之後,衝突文件會在控制檯輸出,找到文件手動修改,可以通過下列命令找出所有不一樣的文件

git pull(合併同理)

git diff  

  • 提交代碼到本地倉庫

git add . 

git commit -m '提交註釋'

  • 再次操作(pull)代碼到本地,如果還有衝突,再次找到文件,手動修改

git pull(合併同理)

  • 如此循環以上兩個操作,直到衝突全部解決完畢,則可以提交到遠程倉庫

git push

1.2、webstrom操作

  • 操作之後(如pull,merge),若有衝突,會有提示,直接點擊view them打開衝突文件
  • 或者是打開conflict視圖【右擊項目(VCS)->git->resolve conflict】

  • 打開衝突視圖之後,會展示所有衝突文件,如下:

  • 以下是手動合併的視圖

  • 衝突解決完之後,就可以提交到遠程倉庫了

2、覆蓋本地代碼,同步遠程倉庫的代碼

2.1、命令行操作

    git fetch --all

    git reset --hard origin/master  // 這裏是覆蓋master分支,如果是別的分支,改爲origin/分支名

    git pull

2.2、webstrom操作

右擊項目,選擇git操作,如下:

獲取倉庫全部代碼之後,重置本地的代碼

3、合併分支代碼到指定分支

3.1、命令操作(此處以test合併到liuxin爲例)

  • 切換到需要合併的分支

git checkout liuxin

  • 將test分支代碼合併到liuxin

git merge test

  • 若在此有衝突,請重複頂部【1.1】操作(commit->merge ->commit->push),若沒有衝突,則直接push即可

3.2、webstrom操作

  • 若有衝突,打開衝突視圖進行操作,詳見1.2(commit->merge ->commit->push)

4、常見報錯處理

4.1、無權限push

remote: GitLab: You are not allowed to push code to protected branches on this project.
To http://120.25.195.31/tianjin/qncapp.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://120.25.195.31/tianjin/qncapp.git'

  • 法一:找git管理員給所用賬號分配權限
  • 法二:新建分支,push到新建的分支上,之後再合併
    • git branck '分支名'  // 新建分支
    • git checkout '分支名' // 切換到新建的分支
    • git merge master  // mater代碼合併到新分支
    • git push // push到遠程倉庫

如果還是沒有解決問題,那可能是本地代碼和遠程倉庫代碼不一致,可以使用命令,如下:

  • git pull --rebase origin master // 重置本地代碼,與遠程倉庫保持一致,commit本地代碼不會被沖掉
  • git push -u origin master // 重新用master分支push到遠程倉庫

在這裏還沒有解決問題,可以使用最暴力的一種方式,把代碼備份之後,直接覆蓋本地代碼,重新提交,詳情查看第2點

5、更換遠程倉庫地址

5.1、命令行方式

git remote set-url origin 你新的遠程倉庫地址

6、同步倉庫分支到本地

git remote update origin -p

歡迎留言交流!!!

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