github命令行实用操作

github的操作并不那么简单,现在只从实用的角度进行简单介绍,包括流程和命令。

先说一下新建和提交:

1,你得有github的账号,然后自己本地安装github的命令行工具,这些网上一大堆,随便找找,我要描述的只是管理代码。

2,在github账号里新建一个代码仓库(Create a new repository),即服务器代码仓库,此时仓库是空的。

3,在本地新建文件夹,最好用英文目录,然后用git bash进入到目录:git init 进行初始化,然后git clone git@github.com:xxx/scj.git(你的远程仓库地址),此时由于你的代码库是空的,可能会报warning。

4,在本地目录下放入你的代码,比如1.txt,此时你可以用git status去看,会显示新的改动。

5,git add 1.txt 此操作更新你要commit到本地仓库的文件,然后git commit,此时会要求你填写你的改动日志,填写了日志之后,就把代码提交到了本地仓库。

6,假如你确定要把代码提交到远程仓库,就git push,如果是第一次,可能要求你填写远程目录和本地的 upstream

git remote add origin git@github.com:xxx/scj.git
git push -u origin master
到此为止,新建和提交就完成了。
 
下面是开发的一些小方法,也是git好用的一些方法:
1,我们管理代码时,一般要新建几个分支,好处在于可以在不同的分支进行开发。什么意思呢?就是说如果你在master开发(一般git第一次新建的都是master主干),开发到了一定阶段,需要code review,别人在看你master的代码,还没有确定是否可以push到远程仓库,此时如果你要在master上开发,那么又是新代码了,明显不合适,所以你可以另建一个branch 分支。
2.git branch new_fix,创建新的分支,git checkout new_fix切换到new_fix,new_fix分支有一份代码的复制品。假如你在new_fix修改了代码,你在git bash里边切换new_fix和master,你会看到你的代码编辑器里边的代码会随着你的分支切换而变化,是不是很神奇?
3.此时,别人可以评审你的master代码,你可以在new_fix进行开发,不影响你正在评审的代码,如果别人评审完了,你可以从master分支将代码git push到远程仓库(涉及到解决冲突,下面说)。
4.这时你新开发的还在new_fix分支,如果你确定你的新开发没有问题了,可以在master上git merge new_fix,将new_fix的代码合并到master上来,当然,也可能会有冲突,解决就好,然后评审,提交。
5.如果你的new_fix已经merge到master了,那么就可以把new_fix分支删除,下次需要的时候再建就行了。
 
解决冲突:
在你git push的时候,你有可能会发现失败,原因是别人修改了远程仓库的代码,你如果这时提交你的,明显你们的代码是不同步的,所以需要解决冲突。
当然,最好的方法是分模块,大家各自开发各自的模块,这样冲突也好解决,因为各不相干,冲突的都是交叉部分。如果大家都在修改一个模块,那冲突太多,根本没办法解决。
我一般是这样:
1,先git stash,把自己本地的代码缓存起来,然后git pull,这时会把远程仓库的代码拉下来。
2,git stash pop,将自己的代码再pop出来,这时就会显示冲突,你需要一个个去fix,你决定冲突的部分是应该怎样的。
3,解决了冲突之后,你就可以git push,把代码提交到远程仓库上了。
 
merge的时候,解决冲突的方式类似
 
这就是我认为比较实用的git使用,同志们看一下。

 

 

送你几颗比特币玩玩:

 

https://www.coincola.app/acts/red-packet?type=invitation&packet_id=gBbVudr7GwuTF3r71ihUq8vDiuiNdAgL&lang=zh-CN

 

 

 

posted @ 2016-12-18 18:28  三尺剑  阅读(1317)  评论(0编辑  收藏  举报