- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有人 fork 了我的项目并进行了一些更改。都好。他的所有更改都在一次提交中。现在他让我 merge 他的更改。项目托管在 github 上。
我遵循了 http://github.com/guides/pull-requests 中提到的指南这就是我所做的
git pull git://github.com/defunkt/grit.git master
但是,由于该命令现在 gitlog 说另一个人进行了提交。我见过其他人提交并且一个人验证的地方。由于这是我的项目,我如何将我的名字添加到验证列表中。
问题编号:2
他的评论中有一个错字。我还想修复提交中应该带有他和我的名字的错字。
更新:
我正在寻找一种方法来签署这样的提交。
http://github.com/rails/rails/commit/639e044298eed903566086d297ae51a535082e73
最佳答案
作者/提交者/确认/签字
每个项目都定义了如何记录补丁审查。 Git 仅直接支持两个预定义的身份字段:作者和提交者。两者都不完全适合标记评论/确认。 Git 确实对“Signed-off-by:”行有额外的支持,但这些只是提交消息中的常规文本(与作者和提交者不同,它们由 Git 管理和分配含义)。
与提交消息的所有部分一样,“Signed-off-by:”的含义由每个项目来定义。在 Git 项目中,“Signed-off-by:”行的意思类似于“我证明此代码与此项目的许可证兼容”(参见 “Developer's Certificate of Origin” in Git's SubmittingPatches document)。在 Git 项目中,“Acked-by:”行的意思是“我已经审查了这个更改,看起来很正常”。
Git 项目中典型的补丁流程是贡献者生成带有 git format-patch -s
的签名补丁。并将它们发送到项目邮件列表,在那里他们收集讨论和确认(如有必要)。一旦补丁准备好应用,维护者在添加他自己的“签名者:”后应用它。因此,维护者始终是提交者(除了在某些子系统中,通过子系统维护者的 merge pull 入提交)但原始贡献者仍然是作者。此工作流程在其他项目中可能有意义,也可能没有意义。
因此,您在 GitHub 上的示例提交中的“签署人:”只是提交消息末尾的文本。它的确切含义是项目分配给这些线路的任何含义。为该提交显示的附加身份(在 GitHub View 中标记为“(提交者)”)是由于提交者与作者不同。当您修改提交(例如分支的提示或在 rebase 期间)或应用包含与您配置的身份不同的“From:” header 的补丁时,就会发生这种情况。修改其他人的提交以添加签名或确认行(或修复提交消息中的错字)将足以更改提交者。
一般来说,您不应该担心将您的身份 push 提交者领域。您可能会合理地关注以某种方式承认提交中包含的更改(例如说“我审查了这个”或“我批准了这个”)。您执行此操作的方式取决于相关项目的习俗和政策。通常这样的确认是通过在提交消息中添加“页脚”行来完成的。
添加确认的方法
如果“Signed-off-by:”在你的项目中作为确认行服务器,你可以通过使用 git commit --amend -s
修改提交来轻松添加它们。 .否则,它将涉及修改提交消息以包含适合您项目的任何能指。
完全保留贡献的历史
如果在您的情况下保留贡献者的原始历史记录至关重要,那么您可能应该使用 git pull --no-ff
并将您的“确认”添加到结果 merge 提交的提交消息中。由于您无法重写,因此您将不得不忍受任何提交消息拼写错误。对于内容拼写错误,您或原始贡献者可以在 merge 之前添加修复拼写错误的提交,或者您可以在 merge 之后添加修复。
merge 后进行内容修复:
git checkout <your-branch>
git pull --no-ff --no-commit <repo> <contributor's-branch>
git commit # add your "Ack", commit the merge
# fix content typo and stage it
git commit
git fetch <repo> <contributor's-branch>:from-contributor
git checkout from-contributor
# fix content typo and stage it
git commit
git checkout <your-branch>
git merge --no-ff --no-commit from-contributor
git commit # add your Ack, commit the merge
git rebase -i
添加您的“确认”并修复拼写错误,然后将其 merge 到您的主分支中。
git fetch <repo> <contributor's-branch>:from-contributor
git checkout from-contributor
git rebase -i HEAD~<N> # N is however many commits you have to go back to fix the typo
git checkout <your-branch>
git merge --no-ff --no-commit from-contributor
git commit # add your Ack, commit the merge
git checkout <your-branch> && git merge --no-ff --no-commit && git commit
,您可以在
git rebase -i
期间将您的确认添加到相关提交中步骤然后使用
git checkout <your-branch> && git merge from-contributor
,如果
<your-branch>
的提示可能会快进是
from-contributor
的祖先.
git commit --reset-author
,否则现有提交的作者将保持不变。 .您将成为任何新提交( merge 提交和修复)的作者和提交者。
git checkout <your-branch>
git pull --rebase <repo> <contributor's-branch>
git rebase -i HEAD~<N> # fix-up typo, add Ack
git rebase -i HEAD~<N>
以上步骤可以是
git commit --amend
反而。
关于git - 有人派我去 pull 他的变化。但是我无法将我的名字添加到该提交中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2348911/
古今中外,人其实最珍惜自己的姓名,分量可谓举足轻重,几乎构成一个人最重要的人生价值载体,同理,一个网站的标题也就像网站的名字一样,标题的定性决定着这个网站的路怎么走,SEO的工作将会围绕着这些进行展
我需要强制执行 LASTNAME/FIRSTNAME Something like Smith/John 这种模式。 字符可以是字母数字(小写/大写)也包括特殊字符,如 ë 等。 图案: 基本上规
我有两个字段:first 和 last 我正在尝试使用 multi_match模糊匹配全名: "multi_match": { "query": name, "fields": [
国王i | 王妃i 青梅。 | 竹马。 我要逆天 | 我要爆炸 以前呢i | 后来呢i 抱紧我i | 深吻我i 心悦 | 钟意 依赖 | 共生 阿怪i | 阿乖i 花岛丶 | 草浅丶
我是Delphi的新手。每次运行事物时,都会出现此错误: adoquery1:未找到参数“名字” procedure TForm1.Button1Click(Sender: TObject); beg
我是 Akka 新手,我正在尝试制作一个简单的项目,即有鱼的水族馆。问题是我不知道如何获取我在这一行中声明的 Actor 的名字 final ActorRef fish1 = system.actor
以下是要求:我。如果有名字、中间名和姓氏,则仅显示名字和姓氏二.如果有第一个和最后一个,则显示第一个和最后一个三.如果只有名字,则直接显示 我有以下代码: String fullName = "fir
我使用此 PHP 正则表达式来检查字段是否包含名称(至少包含名字/姓氏,然后是可选的其他中间名或缩写)的 true/false。 $success = preg_match("/([\x{00c0}-
当使用 django allauth 进行社交帐户注册时,allauth 自动将用户名定义为从 3rdparty 获取的 first_name。因此,例如:如果 facebooks John Cucu
我想尝试在 Javascript 中检测一个人名字的不同部分,并将它们剪掉,以便我可以将它们传递给其他东西。 名称可以以任何格式出现——例如:- 维多利亚·米·莱恩小姐 Victoria C J Lo
这是我读过的教程中的查询 CREATE TABLE Employee ( id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, depa
我从包含用户名的文本框中输入了用户输入 输入可以如下所示: var input = "Doe, John M"; 但是,输入可能要复杂得多。像: var input = "Doe Sr, John M
在 Javascript 中,我尝试将全名(名字、中间名和姓氏)输入到字段中,单击提交按钮后将输出到三个单独的字段:字符长度、中间名和 3缩写。到目前为止,我已经到达字符字段,但我对如何获取两个空格之
我尝试通过 java 解析 XML DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder
formatName 方法应该接受名为 name 的字符串,其中包含格式为“First Last”的名称。你可能会认为字符串中只有一个空格。该方法应该创建并返回一个包含名称的字符串格式为“最后,第一个
我是 node.js 的新手。我正在尝试创建一个注册页面并使用 mysql 将输入的值保存在数据库中。 我可以通过在请求 header 上传递参数来做到这一点。但是,在请求 header 中传递参数始
我需要一个函数来根据以下字段检查重复条目:first_name、last_name 和 tel我尝试过浏览论坛,但似乎找不到帮助。 prepare($sql); $stmt->bind_param('
我有下表: First Name Bryce Marcellin Caroline Kerry Roberto Mary Carol Warren Bonnie Terry L
所以我制作了一个代码让用户输入他们的名字和姓氏;然后交换两个位置。 例如。 Bulota Babi 成为 Babi, Bulota 这是我的代码 public class trial { pu
我想知道你是否有两列让我们说 first name. last name. 您在数据库中存储的内容。 您能否在数据库中创建一个“动态”列“全名”,自动根据名字和姓氏创建姓名? firstname
我是一名优秀的程序员,十分优秀!