PUSH 失败
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 ‘git pull …’)。
提示:详见 ‘git push --help’ 中的 ‘Note about fast-forwards’ 小节。
- 使用强制push的方法:
git push -u origin master -f
- push前先将远程repository修改pull下来
$ git pull origin master $ git push -u origin maste
- 若不想merge远程和本地修改,可以先创建新的分支:
然后push$ git branch [name]
$ git push -u origin [name]
只需记住一条命令即可
git push <远程主机名> <本地分支名>:<远程主机分支名>
文字描述为
向远程的仓库提交本地仓库的<本地分支名>到<远程主机分支名>中
其他的情况就是省略默写参数的默认操作
1.查看本地分支
$ git branch
* br-2.1.2.2
master
2.查看远程分支
$ git branch -r
origin/HEAD -> origin/master
origin/feature/IOS_visualtrack
origin/feature/android_visualtrack
origin/master
3.查看所有分支
$ git branch -a
* br-2.1.2.2
master
remotes/origin/HEAD -> origin/master
remotes/origin/br-2.1.2.1
remotes/origin/br-2.1.2.2
remotes/origin/br-2.1.3
remotes/origin/master
4.切换远程分支
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/Release
remotes/origin/master
$ git checkout -b myRelease origin/Release
Branch myRelease set up to track remote branch Release from origin.
Switched to a new branch 'myRelease'
PS:作用是checkout远程的Release分支,在本地起名为myRelease分支,并切换到本地的myRelase分支
5.合并分支
合并前要先切回要并入的分支
以下表示要把issue1234分支合并入master分支
$: git checkout master
$: git merge issue1234
Merge made by recursive.
README | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Git push 常用命令
git push <远程主机名> <本地分支名>:<远程主机分支名>
这个是push的完整写法,将本地分支上传到远程分支,例如:
git push origin dev:dev
git push <远程主机名> <本地分支名>
如果省略了<远程主机分支名> 即:
git push dev
则git会push到远程分支的同名本地分支,即和
git push dev:dev
等价。如果远程分支dev不存在则会创建dev分支。
git push <远程主机名> :<本地分支名>
如果省略<本地分支名> 即:
git push :dev
则git会删除远程主机上的dev分支,即用一个空分支更新deb分支,相当于删除dev分支,和
git push origin --delete dev
等价。
git push <远程主机名>
如果当前分支和远程分支存在追踪关系,则本地分支和远程分支都可以忽略。
git push
如果当前分支只有一个远程分支,那么远程主机也可以省略,可以使用
git branch -r
查看远程分支名。
git push -u
如果当前分支和多个主机之间存在追踪关系,可以使用这个命令来设置一个默认的主机,例如:
git push -u origin master
设置后可以使用
git push
来推送到默认的主机上,
如果要推送到其他远程主机上则要写全。
git push –all <远程主机>
将本地的所有分支都推送到远程主机。
git push –force <远程主机>
当服务器上版本和本地版本不一致时,push会发生冲突,git会提示你先使用pull来解决冲突,如果你一定要推送,可以使用这个命令,除非你一定要这样,否则应该避免使用force。