Skip to content

Commit 35f1cdd

Browse files
committed
Update CONTRIBUTE.md
1 parent 5a088d3 commit 35f1cdd

File tree

1 file changed

+84
-9
lines changed

1 file changed

+84
-9
lines changed

.github/CONTRIBUTING.md

+84-9
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77

88
## 安装并配置 Git
9+
10+
![git](http://p9ucdlghd.bkt.clouddn.com/git-logo-2color-lightbg.png)
11+
912
首先你需要在自己电脑上安装 Git,对于已经安装过 Git 并配置好相关信息的小伙伴们,这第一步就不用再做啦~
1013

1114
对于 Windows 用户,Git 官网下载链接,[请戳这里](https://git-scm.com/downloads),下载完安装即可。
@@ -15,12 +18,14 @@
1518
sudo apt-get install git
1619
```
1720

21+
[更多 Git 相关安装指引,需要的戳戳戳😀。](https://help.github.com/articles/set-up-git/)
22+
1823
安装完成之后,
1924
Windows 用户打开 Git Bash 命令行窗口,而 Linux 用户打开 `Terminal` 窗口,进行后续操作。
2025

2126
设置 Git 用户名及邮箱,注意,要与 GitHub 上的用户名及邮箱**保持一致**,此前有小伙伴邮箱没有与 GitHub 帐户邮箱同步,导致后续出现了一点小问题。
2227

23-
本次演示,我使用 GitHub 帐户 `igayhub`,邮箱为 `contact@yanglibin.info`。因此,
28+
在本次演示中,我使用 GitHub 帐户 `igayhub`,邮箱为 `contact@yanglibin.info`。因此,
2429

2530
设置 Git 用户名:
2631
```bash
@@ -50,12 +55,12 @@ git config --global user.email "contact@yanglibin.info"
5055

5156
![clone-fork-doocs-leetcode](http://p9ucdlghd.bkt.clouddn.com/clone-fork-doocs-leetcode.png)
5257

53-
复制该链接,在命令行窗口中执行命令:
58+
复制该链接,在命令行窗口中执行命令`git clone` + 刚才复制的 `HTTPS` 链接”,如
5459
```
5560
git clone https://github.com/igayhub/leetcode.git
5661
```
5762

58-
注意啦,这里是 clone 自己帐户下(如: `igayhub`)的 leetcode 仓库噢,不是 doocs 下的
63+
注意啦,这里是 clone 自己帐户下(如: `igayhub`)的 leetcode 仓库,不是 doocs 下的噢
5964

6065
命令执行的过程如下:
6166
```bash
@@ -77,24 +82,24 @@ Checking connectivity... done.
7782
cd leetcode
7883
```
7984

80-
创建新分支 `dev``dev` 为分支名,当然,你也可以命名为其它名字,这个看个人喜好~
85+
`git checkout` 命令创建新分支 `dev``dev` 为分支名,当然,你也可以命名为其它名字,这个看个人喜好~
8186

8287
```bash
8388
git checkout -b dev
8489
```
8590

86-
可以看到,它创建并切换到新分支 `dev` 下了。
91+
执行完上面的命令之后,可以看到,它创建并切换到新分支 `dev` 下了。
8792
```
8893
Switched to a new branch 'dev'
8994
```
9095

9196
## 做出更改并 commit
92-
之后你可以对仓库中的文件进行修改,或者创建新文件,添加 `Solution` 代码等。在这里我对 `Solution 020` 下的 `README.md` 文件做了修改
97+
之后你就在当前 `dev` 分支下对文件做出改动。你可以对仓库中的文件进行修改,或者创建新文件,添加 `Solution` 代码等。在这里我对 `Solution 020` 下的 `README.md` 文件做一下修改
9398
```bash
9499
vim README.md
95100
```
96101

97-
修改后,执行 `add` 命令添加你的改动,然后执行 `commit` 命令提交你的改动到本地 Git。`-m` 之后是一些备注信息,备注信息要尽量体现你的改动,比如我是对 `README.md` 做了修改,那我备注信息就写 `Update solution 020....`
102+
修改后,执行 `add` 命令添加你的改动,然后执行 `commit` 命令提交你的改动到本地 Git。`-m` 之后是一些备注信息,备注信息要尽量体现你的改动,比如我是对 `Solution 020` 下的 `README.md` 做了修改,那么备注信息我就写 `Update solution 020 [README.md]`
98103

99104
```bash
100105
git add -A
@@ -135,7 +140,77 @@ push 之后,在你的 GitHub 项目上,可以看到 `Compare & pull request`
135140

136141
![create-pull-request](http://p9ucdlghd.bkt.clouddn.com/create-pull-request.png)
137142

138-
pull request 完成之后,我这边就能看到啦~
143+
pull request 完成之后,我会收到一份邮件通知。
144+
145+
![email-of-pull-request](http://p9ucdlghd.bkt.clouddn.com/email-of-pull-request.jpg)
146+
147+
不久之后,如果 Review 完觉得没有问题的话,我会把你所有的 create/update 变化合并到这个项目的主分支。合并后,我想你应该也会收到电子邮件通知吧😁。这样也就完成了整个 contribute 过程啦~
148+
149+
## 与当前主分支保持同步
150+
如何将你的代码仓库与当前 `doocs/leetcode` 主分支保持同步呢?因为其它小伙伴也会把代码 merge 到主分支,而你的本地仓库没有这些代码,你需要同步一下~
151+
152+
首先,需要确保你在自己的 master 分支下,使用 `git status` 查看当前所在分支。
153+
154+
```bash
155+
git status
156+
On branch dev
157+
nothing to commit, working directory clean
158+
```
159+
160+
可以看到,当前是在 `dev` 分支下,所以应该使用 `git checkout` 切换到 `master`
161+
```bash
162+
git checkout master
163+
Switched to branch 'master'
164+
Your branch is up-to-date with 'origin/master'.
165+
```
166+
167+
然后,你需要添加远程主分支仓库 doocs/leetcode 到 git。执行命令:
168+
```bash
169+
git remote add upstream https://github.com/doocs/leetcode.git
170+
```
171+
172+
接着,利用 `git fetch` 命令获取远程仓库内容。
173+
```bash
174+
git fetch upstream
175+
```
176+
177+
该命令的执行过程如下:
178+
```bash
179+
remote: Enumerating objects: 35, done.
180+
remote: Counting objects: 100% (30/30), done.
181+
remote: Compressing objects: 100% (12/12), done.
182+
remote: Total 20 (delta 9), reused 16 (delta 7), pack-reused 0
183+
Unpacking objects: 100% (20/20), done.
184+
From https://github.com/doocs/leetcode
185+
* [new branch] master -> upstream/master
186+
```
187+
188+
最后,使用 `git rebase` 合并代码,并 push 到你的 GitHub 仓库。
189+
```bash
190+
git rebase upstream/master
191+
First, rewinding head to replay your work on top of it...
192+
Fast-forwarded master to upstream/master.
193+
```
194+
195+
push 的时候,一样需要输入你的 GitHub 用户名和密码噢~
196+
```bash
197+
git push origin master
198+
Username for 'https://github.com': igayhub
199+
Password for 'https://igayhub@github.com':
200+
Counting objects: 20, done.
201+
Delta compression using up to 4 threads.
202+
Compressing objects: 100% (19/19), done.
203+
Writing objects: 100% (20/20), 5.62 KiB | 0 bytes/s, done.
204+
Total 20 (delta 9), reused 0 (delta 0)
205+
remote: Resolving deltas: 100% (9/9), completed with 6 local objects.
206+
To https://github.com/igayhub/leetcode.git
207+
d8fdeb6..5a088d3 master -> master
208+
```
209+
210+
😊现在,所有仓库就都同步啦~
139211

212+
## 资料相关
140213

141-
(完)
214+
- [😲了解更多 Git 相关,点这里噢。](https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
215+
- [🤭如何在 GitHub 上用 Markdown 写作,看这儿。](https://github.com/guodongxiaren/README)
216+
- [😄如何写出赏心悦目的中文技术文档,这儿有推荐。](https://github.com/ruanyf/document-style-guide)

0 commit comments

Comments
 (0)