git 常用命令

1、pick commit 图形化界面
 
2 - git am的使用
1)git am -s -3
-3可以识别出重复的patch
 
如:
Applying: Revert "Telephony: set default subscription mode to RUIM"
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
 
-3还可以自动merge,解决行号不匹配的问题
如:
Applying: 8909_512: set NUM_FRAMEBUFFER_SURFACE_BUFFERS to 3
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging BoardConfig.mk
 
2)git am --directory=<dir>
更改patch中的文件路径
 
3)signed-off
git am patch -s
 
3、修改上一次提交的用户名和Email
可以用以下命令:
git commit --amend --author='Your Name you@example.com'
 
 
4、打包导出修改文件
git archive -o 导出文件名.zip 导出版本号 $(git diff --name-only 旧版本号..新版本号)
一般来说,导出版本号和新版本号是一样的,例:
Bash
git archive -o patch.zip 035b375 $(git diff --name-only 69351d6..035b375)
Git的版本号比较长,有40位,一般来说,取前七位就行。
导出的ZIP是按目录生成的,这样提交差分代码时也非常方便
 
这个是遇到删除文件有问题的:git archive -o $filepath HEAD $(git diff --name-only $lastv)
这个是解决之后可以用的:git diff --diff-filter=ACMR HEAD^ --name-only | xargs tar -czvf $filepath
 
注意路径要正确
git diff --diff-filter=ACMR dbdba617909 --name-only | xargs tar -czvf spi-lcd-0523.zip
dbdba617909 为起始commit号
 
git diff --diff-filter=ACMR 13f8584c9d6d650501e4f7f44e648cb0f9422ab4 --name-only | xargs tar -czvf k71-patch-2019.zip
 
 
5、git checkout 远程分支
git branch -a   查看远程分支
git checkout -b xxxx(本地分支名称) yyyy(上条命令查找到的远程分支的名称)
git branch 检查下 本地分支是否创建成功
 
 
 
养生码农
原文地址:https://www.cnblogs.com/seamoon23/p/11769707.html