解决git pull时出现的几个问题
第1个问题: 解决GIT代码仓库不同步今天在执行git pull时出现:
[*]# git pull
[*]Enter passphrase for key '/root/.ssh/id_rsa':
[*]Updating 70e8b93..a0f1a6c
[*]error: Your local changes to the following files would be overwritten by merge:
[*] rest/lib/Business/Inventory/ProductStatus.php
[*]Please, commit your changes or stash them before you can merge.
[*]Aborting
解决方法:
执行git checkout -f,然后再执行git pull重新checkout
[*]# git checkout -f
[*]Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
再执行git pull时就可以了:
[*]# git pull
[*]Enter passphrase for key '/root/.ssh/id_rsa':
[*]Updating 70e8b93..a0f1a6c
[*]Fast-forward
[*] rest/lib/Business/Inventory/ProductStatus.php | 1 +
[*] 1 files changed, 1 insertions(+), 0 deletions(-)
[*] mode change 100644 => 100755 rest/lib/Business/Inventory/ProductStatus.php
第2个问题: git pull的默认地址问题.
1.git处于master这个branch下时,默认的remote就是origin;
2.当在master这个brach下使用指定remote和merge的git pull时,使用默认的remote和merge。
但是对于自己建的项目,并用push到远程服务器上,并没有这块内容,需要自己配置。
如果直接运行git pull,会得到如此结果:
#当执行git pull之后的提示:
[*]$ git pull
[*]Password:
[*]You asked me to pull without telling me which branch you
[*]want to merge with, and 'branch.master.merge' in
[*]your configuration file does not tell me, either. Please
[*]specify which branch you want to use on the command line and
[*]try again (e.g. 'git pull').
[*]See git-pull(1) for details.
[*]
[*]If you often merge with the same branch, you may want to
[*]use something like the following in your configuration file:
[*]
[*]
[*] remote =
[*] merge =
[*]
[*]
[*] url =
[*] fetch =
[*]
[*]See git-config(1) for details.
#解决方法, 通过git config进行如下配置.
[*]git remote add -f origin git@192.168.21.44:rest.git
[*]git config branch.master.remote origin
[*]git config branch.master.merge refs/heads/master
页:
[1]