增加 Repository 管理.
Signed-off-by: rick.chan <chenyang@autoai.com>
This commit is contained in:
parent
d99cc1626b
commit
eb22321c3b
|
@ -321,7 +321,18 @@ git push <repository> --delete tag <tag name>
|
|||
git remote prune <repository>
|
||||
```
|
||||
|
||||
## 12.Rebase
|
||||
## 12. Repository 管理
|
||||
|
||||
```bash
|
||||
# 添加 repository
|
||||
git remote add <repository> <utl>
|
||||
# 删除 repository
|
||||
git remote rm <repository>
|
||||
# 修改 repository 的 url
|
||||
git remote set-url <repository> <utl>
|
||||
```
|
||||
|
||||
## 13.Rebase
|
||||
|
||||
由于合并分支,或从远程仓库中更新代码产生了额外的 merge 节点,此时可通过 rebase 命令消除这些额外的 merge 节点,使 git 历史的线性更好:
|
||||
|
||||
|
@ -366,7 +377,7 @@ git rebase <from branch> <to branch>
|
|||
|
||||
命令继续 rebase。
|
||||
|
||||
## 13.同步 fork 的仓库
|
||||
## 14.同步 fork 的仓库
|
||||
|
||||
基本原理是增加上游仓库,然后进行 fetch 和 merge,最后 push 到当前仓库,如果已经添加了上游仓库,无需再次添加。
|
||||
|
||||
|
@ -377,9 +388,9 @@ git merge upstream/master
|
|||
git push <repository>
|
||||
```
|
||||
|
||||
## 14.Patch
|
||||
## 15.Patch
|
||||
|
||||
### 14.1.生成 Patch
|
||||
### 15.1.生成 Patch
|
||||
|
||||
```bash
|
||||
# 生成最近的 1 次 commit 的 patch
|
||||
|
@ -396,7 +407,7 @@ git format-patch -1 <commit id>
|
|||
git format-patch --root <commit id>
|
||||
```
|
||||
|
||||
### 14.2.应用 Patch
|
||||
### 15.2.应用 Patch
|
||||
|
||||
将所有 Patch 拷贝到某一文件夹下,然后:
|
||||
|
||||
|
@ -411,7 +422,7 @@ git am --abort
|
|||
git am --resolved
|
||||
```
|
||||
|
||||
### 14.3.合并多个 Patch
|
||||
### 15.3.合并多个 Patch
|
||||
|
||||
```bash
|
||||
# 先应用 patch
|
||||
|
@ -422,9 +433,9 @@ git rebase -i HEAD~n
|
|||
git format-patch HEAD^
|
||||
```
|
||||
|
||||
## 15.Submodule
|
||||
## 16.Submodule
|
||||
|
||||
### 15.1.添加 Submodule
|
||||
### 16.1.添加 Submodule
|
||||
|
||||
在主仓库中:
|
||||
|
||||
|
@ -441,7 +452,7 @@ git commit -sm <message>
|
|||
git push
|
||||
```
|
||||
|
||||
### 15.2.在其他地方使用合并后的版本库
|
||||
### 16.2.在其他地方使用合并后的版本库
|
||||
|
||||
```bash
|
||||
git clone <main-repository url>
|
||||
|
@ -451,7 +462,7 @@ git submodule init && git submodule update
|
|||
git clone --recursive <main-repository url>
|
||||
```
|
||||
|
||||
### 15.3.更新合并后的版本库
|
||||
### 16.3.更新合并后的版本库
|
||||
|
||||
```bash
|
||||
cd <sub-repository url>
|
||||
|
@ -460,7 +471,7 @@ cd ..
|
|||
git commit [...]
|
||||
```
|
||||
|
||||
### 15.4.批量操作
|
||||
### 16.4.批量操作
|
||||
|
||||
```bash
|
||||
git submodule foreach <command>
|
||||
|
@ -469,11 +480,11 @@ git submodule foreach git checkout master
|
|||
git submodule foreach git submodule update
|
||||
```
|
||||
|
||||
### 15.5.如何保持 Submodule 的同步
|
||||
### 16.5.如何保持 Submodule 的同步
|
||||
|
||||
如果对第三方 Submodule 进行了定制,但是处于某些原因这些修改并不能提交到远程去。那就要先 fork 第三方仓库,然后在 fork 的基础上添加 Submodule。之后自己的修改或第三方有更新都同步到 fork 的仓库上。
|
||||
|
||||
### 15.6.删除 Submodule
|
||||
### 16.6.删除 Submodule
|
||||
|
||||
```bash
|
||||
# deinit
|
||||
|
@ -482,9 +493,9 @@ git submodule deinit <submodule-name>
|
|||
git rm <submodule-name>
|
||||
```
|
||||
|
||||
## 16.环境变量
|
||||
## 17.环境变量
|
||||
|
||||
### 16.1.GIT_TERMINAL_PROMPT
|
||||
### 17.1.GIT_TERMINAL_PROMPT
|
||||
|
||||
该变量设置是否允许 git 在终端中弹出提示,如 https 的用户密码输入提示等。如果 git clone 时出现:“terminal prompts disabled”字样,可在终端中进行如下设置:
|
||||
|
||||
|
@ -492,7 +503,7 @@ git rm <submodule-name>
|
|||
GIT_TERMINAL_PROMPT=1
|
||||
```
|
||||
|
||||
## 17.外部参考资料
|
||||
## 18.外部参考资料
|
||||
|
||||
1. [Pro Git](https://git-scm.com/book/zh/v2)
|
||||
2. [Git Reference Manual](https://git-scm.com/docs)
|
||||
|
|
Loading…
Reference in New Issue