使用Git上传本地代码到远程仓库(github)的指定分支

最近写了个项目,发现自己的Git操作实现是太烂了,因为一开始下载git的时候就下载了乌龟(tortoisegit),并且对于乌龟的使用也是一知半解,导致自己只会简单的提交,拉取。对于新建文件夹(本地仓库)怎么关联远程仓库,以及如何推送到远程仓库指定分支什么的操作都是模模糊糊。

然后我就在网上查了一些资料并且试验了一下,在这里总结记录一下自己的使用情况.

准备工作:
1.在github新建一个仓库(我命名为schooltest)

 

2.在本地新建一个文件夹(或者是你需要将代码上传到github的文件下)
我新建的文件夹(school_item),文件夹下一些文件以及图片要上传到github

 

准备工作完成,接下来就是git操作了
1.打开git操作页面,在school_item文件里右键->Git Bash Here

 2. 初始化仓库
git init 初始化仓库
git config user.name ‘你的github用户名’
git config user.email '你的github邮箱’

3.查看状态并提交代码到本地仓库
git status 可以查看目前分支的状态
git add . #表示添加所有改变的文件
git commit -m ‘注释’ # 提交代码到本地仓库
 

 4.将本地仓库与远程仓库进行连接(两步)
git remote add origin https://github.com/piggy1024/schooltest.git
git push -u origin master

 

这时候刷新github仓库,本地的文件已经提交到github上了

 

5.git branch --all # 查看本地和远程的所有分支
绿色:本地仓库的分支
红色:远程仓库的分支

 

6.无论是在本地仓库还是远程仓库上,特别是在做项目的时候,你一般都是不会直接提交到master(主分支),都是提交到另外一个分支如dev分支.

当然在本地你可能为了方便直接在master上开发代码,但是一般最好都是另建一个分支,开发好一定的代码,再合并提交到master,最后再推送到远程仓库的dev分支(你的boss不会让你直接提交到master,因为可能还有别的同事也在开发,boss会将你们的代码进行合并然后才提交到master).

接下来来实现在本地新建一个dev分支,修改内容后提交合并到master,然后提交到远程仓库的dev

7.本地新建分支
git checkout -b dev(这个名是你新建的分支名)
 

新建后它会自动切换到新的分支(dev)
如何切换回到master分支呢?
git checkout master

 

 8.现在我们回到dev分支,去修改我们的代码,看看dev 与 master 有什么变化区别
git checkout dev # 切到dev分支

9.现在回到我们原来要提交的文件夹里新建一个test.txt.

 

10.分别看看dev分支和master分支的情况
git status
git checkout master
git status

 

这时候可以看见两个分支都是可以看见我们刚才新建的文件是没有提交的.

11.这时候我们切回到dev分支去提交代码看看
git checkout dev
git add .
git commit -m '添加了test.txt’

这时候再我们原来要提交的文件夹下看看,记得我们此时是在dev分支下的 

 

可以看到dev分支下,test.txt文件已经提交到本地仓库了
这时,我们将分支切回到master分支,再看看文件
git checkout master

 

看看文件夹的情况 

 

这时候是没有test.txt文件的,因为代码只提交到了dev分支,所以在master是看不到这个文件的

12.将dev分支的代码合并到master
#注意此时是已经在master分支了,所以不用切换分支,一般你是要把code合并哪个分支,就要git checkout 到哪个分支#

git merge dev # 把dev分支的更改和master合并

 

13 接下来是将更改的代码推送更新到远程仓库上

git push(先不要执行这行代码)

这里是直接将本地的master直接提交到了远程的master(一般这样做你可能会被你boss diss的)(ps:这里是我操作失误了)

14我们应该将我们的代码push到另外(通常是你的boss给定)的分支

先看看github上的分支情况

在这里是只有一个分支的,通常你的boss会给你创建一个分支给你的.
所以这里我们模拟 创建一个分支命名为dev

 

创建好后可以看到多了一个dev

 

15 将本地的master提交到我们boss给的dev分支上
git push origin 本地要上传代码的分支名称:远程你要上传的指定分支名称
这里我们是将本地的master传到远程的dev分支上

git checkout master # 切换到主分支
git push origin master:dev # 上传

这里由于我第13步失误已经提交好了代码,所以就是Everything up-to-date

16.另外如果远程仓库上没有dev这个分支,我们执行git push origin master:dev命令的话,它也会帮我们自动创建这个分支,这个我们可以试试.
将dev换个名字,比如piggy

git push origin master:piggy
 

执行完了刷新github, 看看GitHub上的情况

 

可以看到上面已经多了piggy那个分支了。

ok,到这里,就已经完成整个本地上传代码到远程仓库的所有过程辽。对于以上有啥错误的,可以麻烦指出来哦!或者有什么疑问也可以互相交流。

 

 

 

 


版权声明:本文为weixin_42232156原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。