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

欢迎留言交流!!!

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