|
|
@ -87,12 +87,15 @@ Git是一个 “分布式版本管理工具”,简单的理解版本管理工
|
|
|
|
* [新建并切换到新分支上,同时这个分支没有任何 commit](#新建并切换到新分支上同时这个分支没有任何-commit)
|
|
|
|
* [新建并切换到新分支上,同时这个分支没有任何 commit](#新建并切换到新分支上同时这个分支没有任何-commit)
|
|
|
|
* [展示任意分支某一文件的内容](#展示任意分支某一文件的内容)
|
|
|
|
* [展示任意分支某一文件的内容](#展示任意分支某一文件的内容)
|
|
|
|
* [clone 下来指定的单一分支](#clone-下来指定的单一分支)
|
|
|
|
* [clone 下来指定的单一分支](#clone-下来指定的单一分支)
|
|
|
|
|
|
|
|
* [clone 最新一次提交](#clone-最新一次提交)
|
|
|
|
* [忽略某个文件的改动](#忽略某个文件的改动)
|
|
|
|
* [忽略某个文件的改动](#忽略某个文件的改动)
|
|
|
|
* [忽略文件的权限变化](#忽略文件的权限变化)
|
|
|
|
* [忽略文件的权限变化](#忽略文件的权限变化)
|
|
|
|
* [以最后提交的顺序列出所有 Git 分支](#以最后提交的顺序列出所有-Git-分支)
|
|
|
|
* [以最后提交的顺序列出所有 Git 分支](#以最后提交的顺序列出所有-Git-分支)
|
|
|
|
* [在 commit log 中查找相关内容](#在-commit-log-中查找相关内容)
|
|
|
|
* [在 commit log 中查找相关内容](#在-commit-log-中查找相关内容)
|
|
|
|
* [把暂存区的指定 file 放到工作区中](#把暂存区的指定-file-放到工作区中)
|
|
|
|
* [把暂存区的指定 file 放到工作区中](#把暂存区的指定-file-放到工作区中)
|
|
|
|
* [强制推送](#强制推送)
|
|
|
|
* [强制推送](#强制推送)
|
|
|
|
|
|
|
|
* [git 配置 http 和 socks 代理](#git-配置-http-和-socks-代理)
|
|
|
|
|
|
|
|
* [git 配置 ssh 代理](#git-配置-ssh-代理)
|
|
|
|
* [一图详解](#一图详解)
|
|
|
|
* [一图详解](#一图详解)
|
|
|
|
* [优雅的提交Commit信息](#优雅的提交Commit信息)
|
|
|
|
* [优雅的提交Commit信息](#优雅的提交Commit信息)
|
|
|
|
* [联系我](#联系我)
|
|
|
|
* [联系我](#联系我)
|
|
|
@ -603,6 +606,14 @@ git show <branch-name>:<file-name>
|
|
|
|
git clone -b <branch-name> --single-branch https://github.com/user/repo.git
|
|
|
|
git clone -b <branch-name> --single-branch https://github.com/user/repo.git
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## clone 最新一次提交
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
只会 clone 最近一次提交,将减少 clone 时间
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
|
|
|
git clone --depth=1 https://github.com/user/repo.git
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 忽略某个文件的改动
|
|
|
|
## 忽略某个文件的改动
|
|
|
|
|
|
|
|
|
|
|
|
关闭 track 指定文件的改动,也就是 Git 将不会在记录这个文件的改动
|
|
|
|
关闭 track 指定文件的改动,也就是 Git 将不会在记录这个文件的改动
|
|
|
@ -656,6 +667,26 @@ git reset <file-name>
|
|
|
|
git push -f <remote-name> <branch-name>
|
|
|
|
git push -f <remote-name> <branch-name>
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## git 配置 http 和 socks 代理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
|
|
|
git config --global https.proxy 'http://127.0.0.1:8001' # 适用于 privoxy 将 socks 协议转为 http 协议的 http 端口
|
|
|
|
|
|
|
|
git config --global http.proxy 'http://127.0.0.1:8001'
|
|
|
|
|
|
|
|
git config --global socks.proxy "127.0.0.1:1080"
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## git 配置 ssh 代理
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
|
|
|
$ cat ~/.ssh/config
|
|
|
|
|
|
|
|
Host gitlab.com
|
|
|
|
|
|
|
|
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p # 直接使用 shadowsocks 提供的 socks5 代理端口
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Host github.com
|
|
|
|
|
|
|
|
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 一图详解
|
|
|
|
## 一图详解
|
|
|
|
|
|
|
|
|
|
|
|
![](./assets/git.png)
|
|
|
|
![](./assets/git.png)
|
|
|
|