patch相关内容
我有一个我一直在研究的文件,然后意识到我在上面几行的位置出现了一个错误。我很快修复了这个错误,并希望在我完成剩下的工作之前提交它。太棒了,这是git add --patch的用武之地! 除了这两个变化,我只有一个笨蛋。是否可以手动告诉git我想要两个hunk? 解决方案 除了'y'和'n'之外,当你问你一个大块头的时候你可以给出的答案是's',因为'把这个大块头分成小块'。完整列表:
..
我有一个源文件,其中添加了2个功能。为了让樱桃采摘,我想分两个阶段进行:每个功能一个。到目前为止,在类似的情况下,使用 git add -p 为我提供了很好的服务,在本地文件处于最后阶段时提交一项功能。 但是,现在我有一个问题,即 git add -p 想要展示一个包含两个功能编辑的大块。即使编辑是分开的, s (对于“split”)不再希望将大块分成更小的块...... 简而言之:我
..
假设我在提交原始/主回购之前提交了7份。我想创建一个修补程序,其中包含修改后的修补程序特定文件,而不是所有文件。或者等价物从修补程序中排除特定文件。我可以如何实现这一点? 解决方案 您可以限制 git diff - 之后以避免路径名称和分支名称之间出现任何潜在的冲突)。例如,您可以执行以下操作: git diff origin / master HEAD - app / mod
..
我是Git的新手,但熟悉SVN。作为一个测试,我使用 git init 在本地目录中创建了一个存储库。然后,我将空仓库(通过SSH使用127.0.0.1,这是我想测试的另一件事)克隆到另一个本地目录。我在库2中添加了一些文件,我做了 git add * ,最后 git commit -a -m“第一个源代码” git format-patch 创建一个补丁并将其应用到资源库1上。 我该怎么做呢?我
..
我对一个开源项目做了一些修改,而没有花时间去创建正确的补丁文件。 现在,项目的维护者发布了一个新版本,新增和编辑的文件,还有一堆重命名的文件。 什么是将更改应用到新版本的最佳方式? I对于diff / patch的使用来说,它是全新的,如果我可以用git来完成它,它会更好。解决方案 如果您有两个类似的目录 a 和 b ,并且您希望 b 与 a 相同,您可以创建并应用一个补丁:
..
git format-patch -2 我想为后面的2个版本创建一个补丁。 为我提供了2个补丁文件,每个修订版都有一个补丁文件 git format-patch HEAD〜2..HEAD 给出 git format-patch -1 HEAD〜2..HEAD 会给出一个文件,但只包含上次修订版本的变更。 有没有如何
..
我有两个存储库。其中之一是对文件 ./ hello.test 进行更改。我提交更改并使用 git format-patch -1 HEAD 从该提交中创建一个修补程序。现在,我有第二个存储库,其中包含一个文件,其内容与hello.test相同,但以不同的名称放在不同的目录中: ./ blue / red / hi.test 。我如何着手将上述补丁应用于 hi.test 文件?我试过 git am
..
可以使用 git am 和 git apply 来应用修补程序。我看不出有什么不同。我现在看到一个区别: git am 会自动提交,而 git apply 只会触及这些文件,但不会创建提交。这是唯一的区别吗? 解决方案 输入和输出都是不同的: git apply 需要一个补丁(例如 git diff )并将其应用于工作目录(或索引,如果 - index 或 - 使用cached )。
..
我在不同分支中有两个不同的文件。 如何在一个命令中区分它们? 类似于 #git diff branch1 / foo.txt branch2 / foo-another.txt 我可以检查出另一个文件,区别它并恢复,但这是相当脏的解决方案。 > git diff branch1:full / path / to / foo.txt branch2:full / pa
..
在一个git仓库中,如果我执行 git format-patch 1 ,我该如何将这个补丁应用到其他版本库?解决方案 注意:您可以先预览你的补丁将做什么: 首先统计: git apply --stat a_file.patch 然后执行干运行来检测错误: git apply --check a_file.patch 最后,您可以使用
..
我最近发现git的 patch 选项给 add 命令,我必须说它确实是一个奇妙的功能。 我还发现,通过点击 s 键,可以将大块分成更小的块,这增加了提交的精度。 但是如果我想要更精确的话,如果分裂大块不够小,怎么办? 例如,考虑一下已经分裂的大块: @@ -34,12 +34,7 @@ width:440px; } - / *#field_teacher_id
..
当我使用 git format-patch 时,它似乎没有包含合并。如何执行合并,然后通过电子邮件将它发送给某人作为一组修补程序? 例如,假设我合并了两个分支并在另一个分支上执行另一个提交合并顶部: git init echo“initial file”> test.txt git add test.txt git commit -m“Commit A” git
..
我没有看到'git format-patch'和'git diff'的输出有什么不同,有没有区别?我不能使用'git diff'生成补丁,然后使用git apply? 我的问题是我添加了更改index,但显然git format-patch只接受提交,所以如果我可以使用diff的输出,那么我可以使用这个命令为索引中的更改生成一个补丁: git diff --cached> index
..
我的客户如何在未安装git的情况下应用由 git diff 创建的补丁? 我试图使用 patch 命令,但它总是要求文件名补丁。 解决方案 git diff> patchfile 和 patch -p1
..
有人拿了一个Moodle的版本(我不知道),在一个目录中应用了很多改变,并且发布了它( tree here )。 如何确定原始项目的哪个提交最有可能编辑以形成这棵树? 这将允许我在此补丁的适当提交下形成一个分支。当然,它来自 1.8 或 1.9 分支,可能来自发布标签,但是在特定的提交之间进行区分并不会对我有多大帮助。 事后更新: knittl的答案让我尽可能接近我将要得到的。我
..
我有两个存储库,一个是库的主要库,另一个是使用该库的项目。 如果我修复in我想要一个简单的方法将补丁应用到上游。 文件的位置在每个存储库中都是不同的。 主要回购: www.playdar.org/static/playdar.js 项目: playlick.com/lib/playdar.js 我试过使用 git format-patch - lib / playdar.
..
我在一个分支上有8个提交,我想通过电子邮件发送给一些不受git启发的人。到目前为止,我所做的每件事都会给我8个补丁文件,或者从开始的时候开始为分支历史记录中的每个提交提供补丁文件。我使用git rebase --interactive来压缩提交,但现在我尝试的所有内容都是从一开始就为我提供了无数的补丁。我做错了什么? git format-patch master HEAD#会产生无数的补丁
..
假设我使用 git format-patch 创建了一个补丁。该文件基本上是一些元数据的统一差异。如果我在Vim中打开文件,我可以看到哪些行已被修改,但是我看不到变化行中的哪些字符不同。有没有人知道一种方法(在Vim或其他一些在Ubuntu上运行的免费软件)来显示每个字符的差异? 每个字符差异的反例可视化是当执行 vimdiff ab 。 更新Fri Nov 12 22:36:23 U
..
我试着使用 git format-patch
SHA1> ,但自那个SHA1开始,每次提交都会生成一个补丁。在生成了几百个补丁后,我不得不杀死这个进程。 有没有办法为特定的SHA1生成补丁? 解决方案 试试: git format-patch -1 或 git format-patch -1 HEAD 使用
..
情况: master在X处; quickfix1在X + 2处提交 然后我开始研究quickfix2,但不小心把quickfix1作为源分支来复制,而不是主分支。现在quickfix2在X + 2提交+2相关提交。 现在我想用quickfix2创建一个分支,但没有属于quickfix1的两个提交。 p> 我试图从quickfix2的某个版本创建补丁,但补丁不保存提交历史记
..