1.git分支操作常用命令

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name

删除远程分支:git push origin :name

撤销修改:git checkout filename

删除文件:git rm file

重命名文件:git mv oldname newname

查看状态:git status

添加记录:git add file 或 git add .

添加描述:git commit -m "miao shu nei rong"

修改描述:git commit --amend

同步数据:git pull

提交数据:git push origin name

代码回滚:git reset --hard commit-id (--hard清除本地的所以修改,不加不会清除本地的修改)


2.git生成patch和打入patch


2.1 使用git format-patch生成所需要的patch:
当前分支所有超前master的提交:

gitformat-patch-Mmaster


某次提交以后的所有patch:

gitformat-patch4e16...--4e16指的是commit名

从根到指定提交的所有patch:

gitformat-patch--root4e16


某两次提交之间的所有patch:

gitformat-patch365a..4e16--365a和4e16分别对应两次提交的名称


某次提交(含)之前的几次提交:

gitformat-patch–n07fe--n指patch数,07fe对应提交的名称

故,单次提交即为:

gitformat-patch-107fe


git format-patch生成的补丁文件默认从1开始顺序编号,并使用对应提交信息中的第一行作为文件名。如果使用了-- numbered-files选项,则文件名只有编号,不包含提交信息;如果指定了--stdout选项,可指定输出位置,如当所有patch输出到一个文件;可指定-o <dir>指定patch的存放目录

2.2 patch的应用

先检查patch文件:git apply --stat newpatch.patch
检查能否应用成功:git apply --check newpatch.patch
打补丁:git am --signoff < newpatch.patch