@@ -68,61 +68,65 @@ git push origin your_branch_name
68
68
## 常见问题
69
69
<details >
70
70
<summary>如何查看我当前处于哪个分支?</summary>
71
- ` git branch` 可以列出本地所有的分支名,前面打星号(*)的就是你当前所在的分支
71
+ <code> git branch</code> 可以列出本地所有的分支名,前面打星号(*)的就是你当前所在的分支
72
72
</details >
73
73
<details >
74
74
<summary>如何切换分支?</summary>
75
- ` git checkout some_branch_name` 就可以切换到对应的分支。以及,` git checkout -` 可以切换到上一个切换过的分支。在两个分支之间来回切换的时候,这个命令会很有用
75
+ <code> git checkout some_branch_name</code> 就可以切换到对应的分支。以及,<code> git checkout -</code> 可以切换到上一个切换过的分支。在两个分支之间来回切换的时候,这个命令会很有用
76
76
</details >
77
77
<details >
78
78
<summary>新建分支的时候,与我当前所在的分支有关联么?</summary>
79
- 有。新建分支的时候,当前所在分支的所有 ` commit` 也会添加到新的分支里面。以及,如果你本地有未 ` commit` 的改动(哪怕已经 ` add` 过),同样会在新建分支的时候带过去。
79
+ 有。新建分支的时候,当前所在分支的所有 <code> commit</code> 也会添加到新的分支里面。以及,如果你本地有未 <code> commit</code> 的改动(哪怕已经 <code> add</code> 过),同样会在新建分支的时候带过去。
80
80
</details >
81
81
<details >
82
82
<summary>既然切换 branch 时代码会跟着走,我正在别的分支上翻译,突然让我去更新之前开了 PR 的另一个分支,我该怎么办?</summary>
83
- 你有两个选择,`commit` 或者 `stash`:
84
- 1. `commit` 很简单,在当前分支上 `git add .` 然后 `git commit -m "xx"`,这时候你就可以使用 `checkout` 命令切换到其他分支了
85
- 2. 在当前分支上 `git stash`,然后切换到其他分支。完成那边的更新后,切换回来,然后 `git stash pop`,你之前的代码改动就都回来了
86
- 需要注意的是,使用 `git stash pop` 会有丢代码的潜在风险,推荐使用 `git stash apply stash@{x}`,其中 `x` 为一个数字
87
- 如果你不确定你的做法是否正确,或者不了解这个命令,请在使用之前查清资料,或者在群里提问
88
- **切换分支前,未防止把本地弄乱,前先使用 `git status` 来检查本地是否 “clean”**
83
+ <p>你有两个选择,<code>commit</code> 或者 <code>stash</code>:</p>
84
+ <ol>
85
+ <li><code>commit</code> 很简单,在当前分支上 <code>git add .</code> 然后 <code>git commit -m "xx"</code>,这时候你就可以使用 <code>checkout</code> 命令切换到其他分支了</li>
86
+ <li>在当前分支上 <code>git stash</code>,然后切换到其他分支。完成那边的更新后,切换回来,然后 <code>git stash pop</code>,你之前的代码改动就都回来了</li>
87
+ </ol>
88
+ <p>需要注意的是,使用 <code>git stash pop</code> 会有丢代码的潜在风险,推荐使用 <code>git stash apply stash@{x}</code>,其中 <code>x</code> 为一个数字</p>
89
+ <p>如果你不确定你的做法是否正确,或者不了解这个命令,请在使用之前查清资料,或者在群里提问</p>
90
+ <p><strong>切换分支前,未防止把本地弄乱,前先使用 `git status` 来检查本地是否 “clean”</strong></p>
89
91
</details >
90
92
<details >
91
93
<summary>我可不可以根据远程的分支(比如 upstream 的 translate 分支)来创建本地分支?</summary>
92
94
可以:
93
- ```bash
95
+ <pre><code>
94
96
git fetch upstream
95
97
git checkout -b my_branch_name upstream/translate
96
- ```
98
+ </code></pre>
97
99
</details >
98
100
<details >
99
101
<summary>每次都从远程创建分支太麻烦,我可不可以直接从本地创建分支?</summary>
100
102
可以。建议使用本地的 translate 分支保持与 upstream 中的 translate 分支保持更新。这样做的好处是:
101
- 1. 每次新建分支的时候,切换到本地的 translate 分支,然后 `git checkout -b my_new_branch` 就好了
102
- 2. 如果 upstream 的 translate branch 有更新,你只需要在切换到 translate 分支之后,`git pull --rebase upstream/translate` 即可完成对本地 translate 分支的更新。再创建新的分支,就是基于 upstream 里最新的代码了,这样可以减少 conflicts 出现的可能
103
+ <ol>
104
+ <li>每次新建分支的时候,切换到本地的 translate 分支,然后 <code>git checkout -b my_new_branch</code> 就好了</li>
105
+ <li>如果 upstream 的 translate branch 有更新,你只需要在切换到 translate 分支之后,<code>git pull --rebase upstream/translate</code> 即可完成对本地 translate 分支的更新。再创建新的分支,就是基于 upstream 里最新的代码了,这样可以减少 conflicts 出现的可能</li>
106
+ </ol>
103
107
</details >
104
108
<details >
105
109
<summary>我在一个分支上 commit 了我的代码,这时候 upstream 更新了,我该怎么做?</summary>
106
- ```bash
110
+ <pre><code>
107
111
git pull --rebase upstream/translate
108
- ```
112
+ </code></pre>
109
113
</details >
110
114
<details >
111
115
<summary>我的本地 translate 分支已经有我的 commit 了,那我该如何用这个分支作为与 upstream translate 同步的分支呢?</summary>
112
- ** 如果你目前在 translate 提交的内容不再需要了(比如,已经 merge)** ,那你可以先切换到 translate,然后:
113
- ```bash
116
+ <p><strong> 如果你目前在 translate 提交的内容不再需要了(比如,已经 merge)</strong> ,那你可以先切换到 translate,然后:</p>
117
+ <pre><code>
114
118
git fetch upstream
115
119
git reset --hard upstream/translate
116
- ```
117
- 虽然 ` git reset` 命令不危险,但在执行这个操作之前,建议你先在群里问一下
120
+ </code></pre>
121
+ <p> 虽然 <code> git reset</code> 命令不危险,但在执行这个操作之前,建议你先在群里问一下</p>
118
122
</details >
119
123
<details >
120
124
<summary>命令好长,我不想记</summary>
121
- ` alias` 了解一下。在命令行里执行:
122
- ```bash
125
+ <code> alias</code> 了解一下。在命令行里执行:
126
+ <pre><code>
123
127
git config --global alias.gx 'pull --rebase upstream/translate'
124
- ```
125
- 下次,执行 ` git gx` (记忆:git 更新),就会执行你定义好的命令了
128
+ </code></pre>
129
+ <p> 下次,执行 <code> git gx</code> (记忆:git 更新),就会执行你定义好的命令了</p>
126
130
</details >
127
131
128
132
## 一些原则
0 commit comments