- Git基础概念
- Git历史(简史)
- Git基础和原理
- Git安装设置
- Git使用前配置
- Git快速入门
- Git工作流程
- Git创建存储库
- Git克隆操作
- Git执行变更操作
- Git查看更改
- Git提交更改
- Git推送(push)操作
- Git更新操作
- Git隐藏(Stash)操作
- Git移动操作
- Git重命名操作
- Git删除操作
- Git修正错误
- Git标签操作
- Git补丁操作
- Git管理分支
- Git处理冲突
- Git不同平台换行符问题
- Git远程操作详解
-
Git常用命令
- git config命令
- git help命令
- git init命令
- git add命令
- git clone命令
- git status命令
- git diff命令
- git commit命令
- git reset命令
- git rm命令
- git mv命令
- git branch命令
- git checkout命令
- git merge命令
- git mergetool命令
- git log命令
- git stash命令
- git tag命令
- git fetch命令
- git pull命令
- git push命令
- git remote命令
- git submodule命令
- git show命令
- git shortlog命令
- git describe命令
- git rebase命令
Git补丁操作
补丁是一个文本文件,其内容类似于git diff
,但与代码一样,它也有关于提交的元数据; 例如提交ID,日期,提交消息等。我们可以从提交创建一个补丁,而其他人可以将它们应用到他们的存储库。
假设我们在项目实现了一个strcat
函数。并将编写的代码的路径并发送给其他开发人员。 然后,其他开发人员可以将接收的补丁应用到自己的代码中。
我们使用git format-patch
命令创建最新提交的修补程序。 如果要为特定提交创建修补程序,请在format-patch
命令后面指定 COMMIT_ID
。
$ pwd /D/worksp/sample Administrator@MY-PC /D/worksp/sample (master) $ git status On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: src/string.py no changes added to commit (use "git add" and/or "git commit -a") Administrator@MY-PC /D/worksp/sample (master) $ git add src/string.py Administrator@MY-PC /D/worksp/sample (master) $ git commit -m "Added my_strcat function" [master cea49f4] Added my_strcat function file changed, 4 insertions(+), 1 deletion(-) Administrator@MY-PC /D/worksp/sample (master) $ git format-patch -1 0001-Added-my_strcat-function.patch
上述命令在当前工作目录中创建.patch
文件。 其他开发人员可以使用这个补丁来修改他的文件。 Git分别提供两个命令:git am
和 git apply
来应用补丁。 git apply
修改本地文件而不创建提交,而git am
会修改文件并创建提交。
要应用补丁并创建提交,请使用以下命令:
zyiz@ubuntu:~/git/sample$ pwd /home/zyiz/git/sample/src zyiz@ubuntu:~/git/sample$ git diff zyiz@ubuntu:~/git/sample$ git status –s zyiz@ubuntu:~/git/sample$ git apply 0001-Added-my_strcat-function.patch zyiz@ubuntu:~/git/sample$ git status -s
修补程序成功应用,现在我们可以使用git diff
命令查看修改。
$ git diff diff --git a/src/string.py b/src/string.py index ab42b94..18f165f 100644 --- a/src/string.py +++ b/src/string.py @@ -6,4 +6,5 @@ var2 = "Python Programming" print ("var1[0]: ", var1[0]) print ("var2[1:5]: ", var2[1:5]) # 切片 加索引 - +def my_strcat(str1, str2): + return (str1+str2)