Git复习

  前两天做OS实验,又被一波Git操作迷倒,想来还是自己理解上不够细致,总结一下关于远程操作Git push和Git pull的知识。

git push

一、git push使用本地的对应分支来更新对应的远程分支。  

1 git push <远程主机名称> <本地分支名称>:<远程分支名称>                                              、

 注意:本地分支名称是指要被推送到远端的分支,而远程分支是指推送的远程主机的其中一个目标分支。

二、区别

a.   git  push origin master

b.   git push origin :master    

c. git push origin

d. git push

e. git push -u origin master

f. git push --all origin

g. git push --force origin

  1.省略远程分支名称

  如果省略远程分支名,则表示将本地分支推送到与之存在“追踪关系”的远程分支(通常二者同名),如果该远程分支不存在,则会被新建。

  a中,被省略的是冒号和后面的远程分支名称,这句话的意思是:将本地的master分支推送到origin主机上的master分支,如果后者不存在便创建一个新的master的远程master分支。

  2.省略本地分支名称

  如果省略本地分支名称,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

  b中命令是删除远程master分支。它等同于git push origin --delete master

  3.省略本地分支和远程分支名

  如果当前分支和远程分支之间都存在追踪关系,那么两者是都可以不加任何参数的。

  4.省略主机名

   如果当前分支只有一个追踪分支,那么主机名都可以省略。

   5.使用默认主机名

  如果当前分支与多个主机存在追踪关系,则可以使用-u来指定一个默认主机,这样后面就可以使用直接使用git push.

  6.将所有本地分支都推送到origin主机

  可以使用--all选项将所有的本地分支进行推送。

  7.强制推送

  如果远程主机的版本比本地的版本要新,推送是Git会报错,要求现在本地做Git pull 合并差异,然后在推送到远程主机。这时候如果想要强制推送的话可以使用-force。(强制推送会导致主机产生一个non-fast-forward merge的合并,不确定的情况下不推荐使用。)

git pull

  git pull获取合并其他的厂库,或者本地的其他分支。  

git pull <远程主机> <远程分支>:<本地分支>

  例如:

  git pull origin master:lab2

意思是将origin主机上的master分支拉到本地的lab2分支上。

其他类似。

  

猜你喜欢

转载自www.cnblogs.com/haotianmichael/p/8974754.html
Git