git高阶

2017-08-27  本文已影响0人  指向指针的指针_

前言

网上类似的教程有很多,我仅把我在公司用到的常用的命令做个总结。并且结合项目来说,让大家更清晰一些。

项目开始

公司开了一个会,决定我们要开始xxx项目了,此时先把准备工作弄好。项目组会选择一个git平台,例如码市,在上面新建一个项目。

成员登录平台,复制代码的SSH链接,把项目拉倒本地:

git clone https://git.coding.net/xxxxxx/xxxxxx.git

然后用本地编辑器打开项目,就能进行开发的工作了(若出现权限问题请参考git入门)。

提交前

当你开发完一个功能,准备提交时,你需要关注:

  1. 线上是否有人提交过。
  2. 会不会出现冲突。

此时,先用:

git pull

更新一下线上的代码,若成功,说明没有冲突。

如果冲突(别人修改了你的代码),也是三步:

git stash
git pull
git stash pop

也就是先暂存一下本地的代码,再拉下来,再从暂存区恢复代码。
看看控制台中打印的内容,哪些文件合并了冲突,这些文件一般都有======stash内容,需要你自己删除冲突前的代码区域,留下想要的代码。

提交

三部曲:

git add xxx  //xxx为你要提交的文件,*代表所有
git commit -m "xxx"  //写一段话,你做了何修改
git push  //推送到线上仓库

其实这里面有很多规范需要注意,否则会给部署人员带来不必要的麻烦。

哪些文件该提交,哪些不该提交?
这时要充分利用.gitignore文件,例如本地的日志文件测试文件等,不要提交,把它们写在ignore文件中,git add *的时候就会忽略它们。

万一add错了咋办?
这是一个习惯,提交前(git commit -m "xxx"之前),先用命令:

git status

看看文件修改情况:


git6.PNG

绿色部分是被修改并且会准备提交到仓库的文件,红色部分是被修改但不会被提交到仓库的文件。此时你需要看一下,绿色部分是不是你想要提交的,如果不是:

git reset xxx  //xxx为文件名

git status一下,就会发现该文件已进入红色区域。

实战技巧:
有一次我在本地删除了一个文件,提交后线上的文件却没有删除,此时用:

git commit -a -m "xxx"

提交后就可以保证线上的文件也删除了。

分支

一般开发会用dev分支,而不是master分支,因为master分支会直接对接线上的代码,安全性极高,不会让人直接修改,我开发都是在dev分支上修改,提交代码后,再由其它人员(权限较高,一般是代码负责人)合并到master分支。

查看分支:

git branch //*为当前所在分支

切换分支:

git checkout dev

推荐一个实用工具SourceTree,git专用,下载后用谷歌邮箱登录即可,官网

git7.PNG

切换分支双击即可,复制分支什么的直接界面就可以完成,还可以只提交一个文件的部分内容。是不是感觉棒棒的~最后推荐阮大神的博客中的git常用命令清单

开启你的git之旅吧~

上一篇 下一篇

猜你喜欢

热点阅读