前言
网上类似的教程有很多,我仅把我在公司用到的常用的命令做个总结
。并且结合项目来说,让大家更清晰一些。
项目开始
公司开了一个会,决定我们要开始xxx项目了,此时先把准备工作弄好。项目组会选择一个git平台,例如码市,在上面新建一个项目。
成员登录平台,复制代码的SSH链接,把项目拉倒本地:
git clone https://git.coding.net/xxxxxx/xxxxxx.git
然后用本地编辑器打开项目,就能进行开发的工作了(若出现权限问题请参考git入门
)。
提交前
当你开发完一个功能,准备提交时,你需要关注:
- 线上是否有人提交过。
- 会不会出现冲突。
此时,先用:
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
看看文件修改情况:
绿色
部分是被修改并且会准备提交到仓库的文件,红色
部分是被修改但不会
被提交到仓库的文件。此时你需要看一下,绿色部分是不是你想要提交的,如果不是:
git reset xxx //xxx为文件名
再git status
一下,就会发现该文件已进入红色区域。
实战技巧:
有一次我在本地删除了一个文件,提交后线上的文件却没有删除,此时用:
git commit -a -m "xxx"
提交后就可以保证线上的文件也删除了。
分支
一般开发会用dev
分支,而不是master
分支,因为master
分支会直接对接线上的代码,安全性极高,不会让人直接修改,我开发都是在dev分支上修改,提交代码后,再由其它人员(权限较高,一般是代码负责人)合并到master分支。
查看分支:
git branch //*为当前所在分支
切换分支:
git checkout dev
推荐一个实用工具SourceTree
,git专用,下载后用谷歌邮箱登录即可,官网。
切换分支双击即可,复制分支什么的直接界面就可以完成,还可以只提交一个文件的部分内容。是不是感觉棒棒的~最后推荐阮大神的博客中的git常用命令清单。
开启你的git之旅吧~