Skip to content

Commit e4c20cc

Browse files
committed
Sync 05-distributed-git contributing
1 parent 8ebc5c8 commit e4c20cc

File tree

1 file changed

+34
-8
lines changed

1 file changed

+34
-8
lines changed

book/05-distributed-git/sections/contributing.asc

Lines changed: 34 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,11 @@ Date: Fri May 29 16:01:27 2009 -0700
239239
removed invalid default value
240240
-----
241241

242-
`issue54..origin/master` 语法是一个日志过滤器,要求 Git 只显示所有在后面分支(在本例中是 `origin/master`)但不在前面分支(在本例中是 `issue54`)的提交的列表。我们将会在 <<_commit_ranges>> 中详细介绍这个语法。
242+
`issue54..origin/master` 语法是一个日志过滤器,要求 Git 只显示所有在后面分支(在本例中是 `origin/master`)但不在前面分支(在本例中是 `issue54`)的提交的列表。
243+
我们将会在 <<_commit_ranges>> 中详细介绍这个语法。
243244

244-
目前,我们可以从输出中看到有一个 John 生成的但是 Jessica 还没有合并入的提交。如果她合并 `origin/master`,也就是说将会修改她的本地工作的那个单个提交。
245+
目前,我们可以从输出中看到有一个 John 生成的但是 Jessica 还没有合并入的提交。
246+
如果她合并 `origin/master`,也就是说将会修改她的本地工作的那个单个提交。
245247

246248
现在,Jessica 可以合并她的特性工作到她的 master 分支,合并 John 的工作(`origin/master`)进入她的 `master` 分支,然后再次推送回服务器。
247249
首先,为了整合所有这些工作她切换回她的 master 分支。
@@ -606,9 +608,9 @@ $ git commit
606608
$ git push myfork featureBv2
607609
-----
608610

609-
`--squash` 选项接受被合并的分支上的所有工作,并将其压缩至一个非合并提交中
610-
`--no-commit` 选项告诉 Git 不要自动记录一个提交
611-
这允许你从另外的分支引入所有的改动然后在记录新提交前做更多的改动
611+
`--squash` 选项接受被合并的分支上的所有工作,并将其压缩至一个变更集,使仓库变成一个真正的合并发生的状态,而不会真的生成一个合并提交
612+
这意味着你的未来的提交将会只有一个父提交,并允许你引入另一个分支的所有改动,然后在记录一个新提交前做更多的改动
613+
同样 `--no-commit` 选项在默认合并过程中可以用来延迟生成合并提交
612614

613615
现在你可以给维护者发送一条消息,表示你已经做了要求的修改然后他们可以在你的 `featureBv2` 分支上找到那些改动。
614616

@@ -706,7 +708,33 @@ index 76f47bc..f9815f1 100644
706708
-----
707709

708710
如果 IMAP 服务器不使用 SSL,最后两行可能没有必要,host 的值会是 `imap://` 而不是 `imaps://`。
709-
当那些设置完成后,可以使用 `git send-email` 将补丁序列放在特定 IMAP 服务器的 Drafts 文件夹中:
711+
当那些设置完成后,可以使用 `git imap-send` 将补丁序列放在特定 IMAP 服务器的 Drafts 文件夹中:
712+
713+
[source,console]
714+
-----
715+
$ cat *.patch |git imap-send
716+
Resolving imap.gmail.com... ok
717+
Connecting to [74.125.142.109]:993... ok
718+
Logging in...
719+
sending 2 messages
720+
100% (2/2) done
721+
-----
722+
723+
在这个时候,你应该能够到 Drafts 文件夹中,修改收件人字段为想要发送补丁的邮件列表,可能需要抄送给维护者或负责那个部分的人,然后发送。
724+
725+
你也可以通过一个 SMTP 服务器发送补丁。
726+
同之前一样,你可以通过一系列的 `git config` 命令来分别设置选项,或者你可以手动地将它们添加到你的 `~/.gitconfig` 文件的 sendmail 区块:
727+
728+
[source,ini]
729+
-----
730+
[sendemail]
731+
smtpencryption = tls
732+
smtpserver = smtp.gmail.com
733+
smtpuser = [email protected]
734+
smtpserverport = 587
735+
-----
736+
737+
当这完成后,你可以使用 `git send-email` 发送你的补丁:
710738

711739
[source,console]
712740
-----
@@ -739,8 +767,6 @@ References: <y>
739767
Result: OK
740768
-----
741769

742-
在这个时候,应该能够到 Drafts 文件夹中,修改收件人字段为想要发送补丁的邮件列表,可能需要抄送给维护者或负责那个部分的人,然后寄出。
743-
744770
==== 总结
745771

746772
这个部分介绍了处理可能会遇到的几个迥然不同类型的 Git 项目的一些常见的工作流程,介绍了帮助管理这个过程的一些新工具。

0 commit comments

Comments
 (0)