一、git上修改之后,本地也修改
使用git pull
提示:error: Your local changes to the following files would be overwritten by merge:
如下两种做法:
1 放弃本地修改,再pull
git reset --hard
git pull
2 保留本地更新
1. git stash :保存本地代码版本
2. git pull : 拉取代码
3. git stash pop:合并冲突代码。
4 . 修改冲突的代码,提交
二、基本命令
git 查看本地仓库,对应的“远程仓库地址”
git remote -v
git push
命用于从将本地的分支版本上传到远程并合并。
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
$ git push origin master
相等于:
$ git push origin master:master
$ touch runoob-test.txt # 添加文件
$ git add runoob-test.txt
$ git commit -m "添加到远程"
master 69e702d] 添加到远程
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 runoob-test.txt
$ git push origin master # 推送到 Github
新建一个本地分支:
$ git checkout -b newbranch
查看一下现在的分支状态:
$ git branch
星号(*)表示当前所在分支。现在的状态是成功创建的新的分支并且已经切换到新分支上。
把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):
$ git push origin localbranch:localbranch
使用git branch -a
查看所有分支,会看到remotes/origin/localbranch
这个远程分支,说明新建远程分支成功。
删除远程分支
推送一个空分支到远程分支,其实就相当于删除远程分支:
$ git push origin :localbranch
也可以使用:
$ git push origin --delete localbranch
这两种方式都可以删除指定的远程分支
切换分支
git checkout master
Fatal: cannot do a partial commit during a merge
原因是git认为你有部分代码没有做好提交的准备
解决方法是
1. 提交全部
git commit -a
2. 如果不想提交全部,那么可以通过添加 -i 选项
git commit file/to/path -i -m "merge"
上述情况一般出现在解决本地working copy冲突时出现, 本地文件修改(手工merge)完成后,要添加并提交,使得本地版本处于clean的状态.
这样以后git pull就不再会报错.
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> v2.0
xxx@localhost:~/project/git_test$ git branch --set-upstream-to=origin/v2.0 v2.0