前言
在日常开发的过程中,我会经常用到Git来管理我的代码,它的优势是非常明显的,这里就不赘述了。那既然这个工具是如此的常用,那么操纵它的那些命令肯定也是非常重要。这里我将分享一下我所常用的一些命令:
-
创建本地仓库
git init <仓库路径>
创建新的仓库,初始化完成后会产生.git目录。一般我会在自己创建的Android工程根目录下执行此操纵。
-
将工作区文件添加到暂存区
git add *
一般我会在此操纵前使用
git status
,查看一下仓库的情况,然后使用git add .
完成添加操纵。 -
提交到本地仓库
git commit -m "提交信息"
这里最主要的是记得填写提交信息,也就是你对代码做了哪些修改,根据不同的公司的规范,提交信息的格式是不同的,可以自定义,内容不限。
-
关联远程仓库
git remote add origin <远程仓库地址>
一般对于远程分支,我们都命名为origin,也可以改成别的。关联后可以用
git remote -v
查看地址是否正确。 -
修改远程仓库地址
git remote set-url <新仓库地址> <旧仓库地址>
有时候会关联错远程仓库地址,就需要这个命令去修改。不过我倒遇到另一个常见的情况,那就是别的远程仓库,由于工作的需要需要自己来维护,这时候当然是想找自己的远程仓库来进行工作,所以就用这个命令来搞定。
-
克隆远程仓库
git clone <远程仓库地址>
我一般在github上看到不错的库会复制其地址,然后就这个命令克隆下来膜拜一下大神的源码。顺便提一下,使用Android Studio来直接clone github上的仓库后,需要重新Import Project一下,不然是有问题的,题外话了,哈哈。
-
推送改动到远程仓库
git push <远程分支> <本地分支>
当我们修改好代码后,当然是想提交一下,让别人看看你又解决了什么难题的吧,那就可以用这个命令。不过一般都是
git push origin master
搞定。 -
从远程仓库更新代码
git pull <远程分支> <本地分支>
在上面说到的是你自己提交修改,那如何得到别的提交的新代码呢,那么就要用这个命令了,这个是将
git fetch
和git merge
合并的命令,之前有查阅资料,都说这样会有一定的风险,建议还是先fetch,然后在看一下修改了什么,最后再merge。我一般是这么干的:git fetch origin master
git diff origin/master master
git merge origin/master
这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。注意:解决了冲突后一定要记得git add 和 git commit 的操纵。
-
查看提交log
git reflog
和git log
主要是可以查看提交的HEAD信息。都是查看log,只是reflog比较简明一些。
-
新建分支
git branch <分支名>
创建新的分支,分支的好处有很多,最大的好处在我看来,是可以在不同的分支上去处理各自的事情,新版本开发、修复bug、发布版本等等,比起SVN,这点Git要好用多了。
git checkout -b <分支名>
这个命令可以新建分支并切换到该分支,不过实际情况,要记得保证现在的分支上没有修改过的内容,你要先提交;当然有人并不想功能没开发完就提交,可以先git stash
存档,之后再切换回来后,可以git stash apply
继续玩耍。
-
删除分支
git branch -d <分支名>
对于临时创建的分支,在不用了后可以利用此命令将其删除。
最后,奉上Git的官方文档以供大家学习https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control。
不过我想我们的时间基本都很有限,我觉得牢记常用命令,一些不常用的,需要的时候再查也是比较实际的,所以Git简明指南也送给你http://rogerdudler.github.io/git-guide/index.zh.html。
对于使用Android Studio的童鞋,如果你不想用git-bash,也可以用Android Studio的插件直接操作。