赞
踩
将本地仓库中的内容同步到远程仓库
git push
这个命令就上将本地仓库中的文件同步到远程。是平时用到push最多的指令。它其实是一种简写方式。省略了远程仓库的地址,本地分支。
git push -u origin master
这个命令是比较全的一条指令。意思是推送本地master分支到远程(origin)的master分支上。-u参数表示upstream,是“上游”的意思,意思是指定本地分支和远程分支的关联关系。一旦设定以后就可以使用git push这种简写形式了。git就知道本地的分支要上传到哪个远程仓库,哪个分支。
git push -u origin master:master
这条命令比上一条更全一点,作用没有一点区别,就是上一条命令的完整形式。这条命令的两个master表示的分别是本地和远程的分支。前者本地,后者远程。
git push --set-upstream origin master
看这条命令能很容易猜出它的作用。没错,它和前两条命令的作用一致。感觉上就像是-u参数的完整写法。假设你的本地分支还没有和远程分支做关联。那你执行git push命令时肯定会报错对不。那你看报错信息里,它就提醒你应该执行git push --set-upstream origin/xxx master。在我不怎么熟悉git命令时,我通常就这么干,先git push 然后复制报错信息再执行一遍。
git push -f
这个命令的作用是强制推送本地仓库到远程。完整写法是:git push -force。有些场景下需要用到这个命令。比如,在多人开发时,远程分支的版本很可能领先你本地版本。你只有将远程仓库的代码拉拉下来,然后合并,才能push(这才是正常工作流程)。那你不想合并远程代码,就可以用-f强制推送。这样你的git版本会覆盖掉远程的git版本。注意,让远程的代码内容被你的代码覆盖,所以你一定要确定有必要这么做,否则你的小伙伴可能正在提刀来的路上。再比如,你推送了一个不必要的commit。你在本地还能reset或者amend指令挽救,但是远程就很难这么操作,那么强制覆盖就是一个不错的选择。再次强调,非必要别这么做。
git push origin --delete master
这个命令的作用是删除远程(origin)仓库的master分支。这样你就不必去github去自己手动删除了。
git push origin :master
注意这里的冒号----- : -------。记忆力没那么差的同学应该记得一份钟前看到过上面的git push -u origin master:master命令。这两条命令的区别就是少了-u参数和少了前面的master。少了-u无非就是不需要指定本地和远程的关联。少了前面的master就有趣了,前面的master表示的是本地分支master,那这个命令就是推送本地空分支到远程master,达到的效果就是删除远程的master分支。也就是和上一条命令效果一致。
git push --all
这个命令我一般不怎么用。作用是将本地所有分支都推送到远程仓库。git push是将本地当前所在的分支推送到远程嘛。这个就是推送所有分支,我还没遇见这样场景,可能我工作习惯单线程。
git push origin --tags
如果你给你的某个分支打上了标签。git tag v1.0.1 a23lijis3。然后你想同步到远程,所有你git push了一下。但是你到远程仓库看的时候你会发现没有这个tag。因为git push是不会推送tag标签的。这个时候你要额外加上–tags指令。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。