基本的命令:
1. 打开GitBash,进入需要操作的项目project的主目录
2. 创建代码仓库:git init
(创建好代码仓库后,此项目的根目录下,会生成一个隐藏的.git文件夹:记录本地所有的git操作
如果要删除本地仓库,删除此隐藏的.git文件夹即可)
3. 提交代码到代码仓库:
● git add 目录或文件 //把待提交的目录或文件先添加,注意,. 代表当前目录(即所有文件)
● git commit -m "statement" //正式提交,参数-m代表描述信息,没有 "statement"的提交不合法
4. 查看修改情况/内容:
● git status //查看各个文件修改情况
● git diff 具体文件的路径 //查看文件(省略文件默认所有文件的修改)修改的具体内容,- 号代表删除,+号代表增加的
5. 撤销未提交的修改:
①情况一:修改后,没有马上执行git add添加,可直接使用下面的命令撤销修改
● git checkout 文件的路径 //撤销此文件的修改
②情况二:修改后,执行git add 添加的,可先 撤销添加,在撤销修改的内容
先 ● git reset 文件的路径 //撤销添加
再 ● git git checkout 文件的路径 //撤销此文件的修改
6. 查看提交的记录:
● git log //所有每次提交的信息都会显示(信息包含:提交ID、提交人、提交日期、提交描述)
● git log 提交id -1 //只看特定id 的一行记录
● git log 提交id -1 -p //只看特定id 的一行记录 的具体文件代码的修改内容(- 号代表删除、+号代表增加的代码)
7. 忽略必要的文件
在这里插入代码片Android项目中的.build目录下的文件都是编译项目时产生的,不应该把这部分文件添加到版本控制中,所以要忽略此文件。
Git会检查代码仓库的目录下是否存在名为 .gitignore的文件,它的每一行对应一个文件/目录,都会被忽略(可以使用通配符*号)
Android Studio会自动为我们创建出两个.gitignore文件,一个在根目录下,一个在app模块下。
- 根目录下的.gitignore (左) app模块下.gitignore (右)
8. 分支(branch)用法:
分支,作用就是在现有的代码的基础上开辟一个分叉口,是的代码可以在主干线和分支线上同时进行开发,且相互间不会影响。
![](https://i-blog.csdnimg.cn/blog_migrate/38991c2f00e4fc47289b1a8c607565e7.png)
例如:在发布版本1.0的时候建立一个分支,然后继续在主线上开发1.1版本。当1.0发布的版本出现Bug ,就在分支上修改,然后发布新的10版本,并且将分支上修改的代码合并到主线上。这样子,不仅可以轻松的解决1.0的bug,而且保证了主干线上1.1继续开发,同时又不会出现1.0时出现的bug。
● 创建分支:git branch Version1.0 (其中,version1.0就是分支的名字)
● 查看分支:git branch (master就是主干线,带*号,代表目前在主干线上)
● 切换分支:git checkout version1.0 (切换到分支version1.0上,当然,可以切回到主分支master)
注意,在分支,或主线上修改并提交代码并不会影响其他分支。当合并操作后,才会影响
● 合并操作:git checkout master
git merge version1.0 (这样,分支version1.0的代码,就会合并到主分支master上了)
●删除分支:git branch -D version1.0 (删除分支version1.0)
远程版本库合作
团队合作,每个人电脑本地都有自己一份的代码,当某成员将代码提交到服务器,其他的成员只需要将服务器上的代码同步到本地,就能保证团队所有人的代码都相同。
团队合作开发,需要一个远程的版本库,团队的每个成员从中获得最初始的版本,然后各自开发,以后每次提交代码都同步到远程的版本库就可以。
当然,自己记得提交代码到远程版本库,也要记得及时从远程版本库获取最新代码 的习惯
假设有一个远程版本库:https://github.com/xxx/test.git
● 从远程版本库获取代码到本地:git clone https://github.com/xxx/test.git
● 同步本地代码到远程版本库的某个分支:git push origin master ( origin是远程版本库Git地址,master是该版本库的master分支)
● 同步远程版本库代码到 本地某分支 并合并:
①仅仅同步 :git fetch origin master (仅仅将代码同步到本地origin/master分支上,但不会合并)
然后 合并代码: git merge origin/master (合并代码到 本地origin/master分支)
(期间可用 git diff origin/master 查看远程版本库到底修改哪些地方)
② 直接 同步 并 合并:git pull origin master(pull 就是fetch和merge合集一样,同步并且合并代码到本地master分支上)