Rom开发中常用Git操作
其实平时做普通的程序开发,单人的话一般对版本控制的需求不是特别高,即使是人稍微多一点,有些时候使用U盘来拷贝代码效率会更高一些,当然了,现在常用的android studio里面有Github的插件,使用起来也相当方便,不过这是题外话了。
但是到Rom开发中,如果说不使用版本控制,那工作量真的不知道会多多少倍。
简而言之,Git大法好,于是mark一下我自己开发中比较常用的命令:
git status
列出当前目录所有还没有被git管理的文件(说的通俗易懂即新增加的文件)和被git管理且被修改但还未提交(git commit)的文件(无论是否被add,它们会被分别列出)
注:需要注意的有两点
1,有些文件虽然在目录中,但是我们会选择将他移出git的管理,例如每次编译完源码后,有些文件里面的日期会被改变,但是将这些文件add并且commit是毫无意义并且会带来很多负面影响,例如不方便直接拉取commit之类,而一般我们将这样的文件或者目录添加进根目录下的.gitignore,在添加进.gitignore之后,git status将会忽略这些文件及目录。
2,补充第一点,有时候你会发现有一个或者多个文件(或者目录)等待被add,但是他们是你想忽略的,于是你把他们添加进了.gitignore,但是这时候git status之后依然会有这些文件,这是因为这些文件并不是未被git管理的文件,所以git的缓存区已经有了它们的缓存,即使你修改了忽略规则,git仍然会检查到它们和缓存区的文件不同,所以仍然会将他们列出来。这个时候添加进.gitignore是没问题的,之后需要使用git rm --cached命令将缓存区的这些以前缓存过的同文件删除,然后你可以add并commit这些改动,之后他们就会遵守.gitignore的规则,不会再被git status列出了。
git add
添加文件或者修改过的文件进入暂存区
git add .
添加所有未被git管理以及修改过的文件进入暂存区,但不包括被删除的文件
git add -u
添加所有未被git管理以及修改过的文件进入暂存区,但不包括未被git管理的文件
git add -A
添加所有未被git管理以及修改过的文件进入暂存区
git commit
提交当前暂存区中的所有内容,即被add的全部内容,一般使用git commit -m ''
ps:''中填写的是该提交的备注或者说注释,简短一些,能明白这次改动修改了什么即可,方便自己或者其他人查看
gitk
其实这玩意可能不算是git的命令,当然,它是随git一起被安装的,主要是一个图形化查看commit以及未被add或者未被commit的文件的修改的工具,不说了,一用即知,一般使用gitk &命令,在后台打开gitk,避免前台占用这个终端命令行。
git rm
其实个人认为相当于rm之后add了该改动吧,结果是该文件被删除并且进入暂存区
git rm --cached
前面有说到,将缓存区的该文件删除,并不会在本地删除该文件,当然,这次改动也会进入暂存区
git clone <where>
克隆命令,将该地址的Git管理下的目录拷贝至当前目录
git remote add <name> <where>
设置远程仓库别名及地址
git remote remove(rename) <name>
移除(重命名)远程仓库
git remote -v
查看所有远程分支的名称及远程地址