Git作为最为流行的版本控制工具,并且是我们Android sdk的版本控制工具。大家有必要熟练掌握git的常用操作。以下为常用的一些命令和注意事项,有不完善的地方,恳请大家提出建议和意见。
一、将代码仓库拉到本地
1、在要作为仓库的文件夹下,执行 git clone ****.git (****.git为远程仓库的ssh地址)
如果出现
2、接下来执行 git branch -r 找到要check到本地的分支
3、接下来执行 git checkout -t 分支名称
4、指定分支已经拉取到本地,将项目放入IDE中就好了
二、日常操作
1、本地修改代码加入暂存区(请确保添加的时候,确保IDE的内容都已经保存,并确认都是自己修改的内容,如果是合并过来的请确保是没有问题的)
git status 文件名都是红色的。
然后执行
git add .
在执行完之后,要执行
git status
确保文件名全部都变成绿色
如果此时还有文件名字是红色对的,请使用 git add 全文件名 命令进行单独添加
2、将本地暂存区的代码提交到本地仓库
确保全部的代码都是绿色的,然后执行
git commit -m “本次提交的说明”
这个时候在进行一次git status 查看是否有未commit的内容
3、commit之后你可以执行
git log
查看本次提交是否已经成功,该命令会显示本分支下的所有commit的信息
以上操作都是在本地仓库进行的,不会影响的远程仓库的文件,但是如果继续执行下面的步骤就会影响到远程仓库了。如果你的代码有问题,就此止步,还影响不到别人。如果在发现有错误的时候,就不要在接着往下执行,就停在当前,然后去后悔药铺找后悔药。
4、将远程仓库的代码,拉取回来,并合并(请确保是在当前分支下,拉取当前分支的代码)在执行该步骤前,一定要确认本地修改代码已经完成commit
git pull origin 分支名称
5、将远程仓库的代码拉取回来,但是不合并
git fetch origin 分支名称
6、每次在本地修改好了文件之后,记得要commit,然后确保自己修改的代码已经和远程仓库代码完美融合之后,commit,然后就要将代码推送到远程仓库,让大家都看到我们的劳动成果了
git push origin 分支名称
至此日常操作基本完成。也基本完成了入门
三、后悔药铺
我们无法保证每次提交到完美,但是我们可以在每一步都仔细检查,确保没有问题。如果发现问题,就及时的吃下后悔药。后悔药虽好,可是也有副作用的(说不定哪次就忘了吃后悔药了)
如果我们什么没有提交,只用ctrl+z操作
如果我们已经add了,那么就得
git checkout 文件名
这个文件就会和远程仓库的一样了。
如果已经commit了,那么可能需要用到以下的命令
git reset --hard 提交的hash值 (通过git log获取) 本命令表示,这个commit不要了。删除就好了
如果你已经commit了好几次了,但是突然发现倒数第二次的commit是错误的。那么就要执行
git revert 要撤销的commit的hash值
这样,就会撤销倒数第二次提交,最后一次的提交不会受到影响,同时,这次操作会成为一次提交
删除已经推送到远程服务器的方法:
git tag -d [tag名]
git push [仓库名] --tags :[tag名]
四、打tag
在需要打tag的commit,执行 git tag tagName
然后执行git tag,如果tag打成功了,就会看到tagname
五、基于分支或者tag创建新分支
如果是基于tag创建新的分支,先执行 git checkout tagName
此时会拉出tag版本。然后就和基于分支拉取新分支一样了。在当前的位置(如果是期望的位置,如果不是期望的位置需要先回退到期望的位置,具体回退方式可见三),执行 git checkout –b 希望创建的分支名字
六、合并代码
将其他分支合并到当前分支,在当前分支执行 git merge 要合并过来的分支名