git 本地分支与远程分支那些事

我是研究僧i 提交于 2019-12-11 18:29:44

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

#git从本地到远程 ##从远程到本地 最开始的时候都是在远程创建一个项目然后在git clone到本地,例如,可以在osc-git上创建一个项目然后执行下面的命令:

git clone https://git.oschina.net/trayvon/spring-aop.git

然后把项目导入IDE就可以了。

##从本地到远程 现在我在本地已经有一个项目了,想要发布出去怎么办呢? 首先,你需要在本地项目的根目录下执行下面的命令:

git init

这个命令是初始化git目录,把目录纳入git管理 然后,还是需要在远程创建一个项目例如osc-git或者gitHub上创建一个项目。获取项目的链接。然后就可以添加一个远程链接了。命令如下:

git remote add origin https://git.oschina.net/trayvon/spring-aop.git

这个命令是给远程的库https://git.oschina.net/trayvon/spring-aop.git取了一个别名origin,如果你愿意也可以取其它名字,但建议使用origin因为很多默认使用的就是这个,可以简化命令。你可以通过下面的命令来查看有哪些远程库:

git remote -v

接下来就可以用我们惯用的命令把本地分支推送到远程库了:

git push origin master

理想很丰满,现实真骨干。你会得到类似于 *src refspec master does not match any.*这样的错误。这是因为还没有master分支。 特别值得注意的是git在第一次commit之后才会创建master分支 我们先添加一个文件,commit一次:

git add pom.xml

git commit -m 'add pom.xml'

接下来还需要关联一下本地分支和远程分支:

git branch --set-upstream-to=origin/master master

上面的命令是把origin代表的远程库的master分支和本地的master分支关联起来 接下来接可以方便的使用下面2个命令了:

git pull git push origin master

##总结 git pull的完整命令:

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

如果本地分支是当前分支就可以省略:

git pull <远程主机名> <远程分支名>

如果远程分支和当前分支名称相同,则分支名称可以省略

git pull <远程主机名>

当远程分支名称是origin的时候就是:

git pull origin

因为默认的远程分支名称就是origin,所以就变成了:

git pull

git pull是从远程拿了分支,并在执行了git merge,相当于:

git fetch <远程主机名> git merge <远程主机名>/<远程分支名>

git clone命令默认本地与远程同名的分支建立了追踪关系,所以可以直接:

git pull

git push的完整命令:

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

如果远程分支与本地分支同名就可以直接省略远程分支:

git push <远程主机名> <本地分支名>

如果当前分支与远程分支存在关联关系就可以省略本地分支:

git push <远程主机名>

如果当前分支只有一个追踪分支就可以省略主机名:

git push

如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机:

git push -u origin master

这样就可以直接使用

git push

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!