前言:Android开发中,git是必不可少的工具,git指令有很多,其实掌握了原理用起来还是比较得心应手的,但是新手往往还没来得及学会原理就要使用了,所以在此尽可能的整理全常用的指令。
1.git绑定账号
(1)git config --global user.name "name" #自己的用户名
(2)git config --global user.email "name@xxxcom" # 注册的邮箱
2.提交代码
提交代码三步走,add、commit、push
提交前先git status.看下有多少被修改的文件,确认下自己要提交的。
场景一:git仓下所有的提交我都需要,那么直接简单粗暴 git add.(add后面有个点哈,好像看的不太清楚...)
场景二:我只需要把其中一部分提交 ,git add (文件目录),此处若是很多文件在同一目录下,那么我们只需要到顶级目录即可,不需要一个个add到文件。
git commit -m "本次提交的题目名",将本地修改提交暂存
git push origin 分支名,push到远程分支
如果是彻底删除某个文件的修改,不要手动删除,使用git rm -rf 文件名去删除,然后直接commit、push即可,不需要add。
3.撤销修改
场景一:只是修改了,还没add,那么只需要git checkout (文件名)
场景二:已经add,但没commit,使用git reset HEAD (文件名)
场景三:已经commit,但没push,此时如果想要彻底回退到没修改前,使用硬回退git reset --hard HEAD^;如果只是想回到已经add的状态并且继续修改该文件,使用软回退git reset --soft HEAD^
场景四:已经push,git revert commit id回退后,再重新push即从远程库彻底撤销该笔修改,其实相当于重新提一笔再改回来。
4.更新代码
如果代码采用repo了的话,还是用repo sync.更新
如果没有,git pull origin (分支名)即可
5.生成patch
在git commit后,执行git format-patch -1 commit id 可以生成patch
6.合入patch
无冲突情况:
(1)git apply --check patch名,先检查下patch是否有冲突。
(2)git am patch名,打入patch
(3)我们知道打入patch后,commit信息全部采用的是patch里的,我们最好是更换成自己的,此时执行:
git commit --amend --message="new message" --author="xxx <xxxx@xxx.xxx>"
(4) git push即可。
有冲突情况:
(1)git apply --check patch名,检查出有冲突。
(2)patch仅有几个文件,修改比较少,那么直接手动修改文件,然后add,commit,push即可。
(3)patch中文件非常多,使用git apply --reject patch名,把没有冲突的先合入,有冲突的会逐个报出来,逐个手动修改即可。
7.切换分支
查看本地分支:
git branch ,绿色带*的是当前本地所处的分支
查看远程分支:
git branch -r
同时查看本地和远程的分支:
git branch -a
新建一个分支,并切换到新分支:
git chekout -b 分支名
切换到指定分支:
git chekout 分支名
8.查看信息
git status. 修改文件后查看哪些文件被修改了
git log 查看已经commit的提交
git show commit id 查看某次提交的修改信息
git show --name-only commit id 仅查看修改的文件信息
git diff 文件名查看该文件的修改
9.gitk
使用gitk,可视化提交信息,安装后直接gitk (文件名)即可,就能看到该文件的修改记录。