article/git/git基本操作.md
2024-04-19 14:43:49 +08:00

139 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## git 基本操作
#### 配置代理
http 协议代理
```bash
//设置全局代理
//http
git config --global http.proxy http://127.0.0.1:1080
//https
git config --global https.proxy http://127.0.0.1:1080
//使用socks5代理的 例如ssssr 1080是windows下ss的默认代理端口,mac下不同或者有自定义的根据自己的改
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
//只对github.com使用代理其他仓库不走代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
git config --global https.https://github.com.proxy socks5://127.0.0.1:1080
//取消github代理
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy
//取消全局代理
git config --global --unset http.proxy
git config --global --unset https.proxy
```
ssh 协议代理
```bash
//对于使用git@协议的可以配置socks5代理
//在~/.ssh/config 文件后面添加几行,没有可以新建一个
//socks5
Host github.com
User git
ProxyCommand connect -S 127.0.0.1:1080 %h %p
//http || https
Host github.com
User git
ProxyCommand connect -H 127.0.0.1:1080 %h %p
```
#### 更新git
```bash
git update-git-for-windows
```
#### git常用命令
- 取消合并
当出现推送被拒,本地分支领先 远端分支,远端分支又有别人提交的代码时。
需要合并远程分支再提交,如果处理不了 需要先取消本地合并
```
git merge --abort
```
- git删除文件
1-1.仅删除远程仓库文件,不删除本地
```bash
git rm --cached */src/views/index.vue* # 注意文件路径,加上*号
git commit -m "delete remote file filename " # commit提交无须add
git push origin master(此处是当前分支的名字) # 推送即可
```
1-2.仅删除远程仓库文件夹!!文件夹,不删除本地
```bash
git rm -r --cached */src/views* # 注意文件路径,加上*号 , 和删除文件区别在于 -r
git commit -m "delete remote file filename " # commit提交无须add
git push origin master(此处是当前分支的名字) # 推送即可
```
2-1.删除远程仓库文件,同时删除本地文件 (区别在于 --cached)
```bash
git rm */src/views/index.vue* # 注意文件路径,加上*号
git commit -m "delete remote file filename " # commit提交无须add
git push origin master(此处是当前分支的名字) # 推送即可
```
2-2.删除远程仓库文件夹!!文件夹,同时删除本地
```bash
git rm -r */src/views* #注意文件路径,加上*号 , 和删除文件区别在于 -r
git commit -m "delete remote file filename " # commit提交无须add
git push origin master(此处是当前分支的名字) # 推送即可
```
- git revert 的用法
git revert 的作用是通过创建一个新的版本这个版本的内容与我们要回退到的目标版本一样但是HEAD指针是指向这个新生成的版本而不是目标版本。
如果我们想恢复之前的某一版本该版本不是merge类型但是又想保留该目标版本后面的版本记录下这整个版本变动流程就可以用这种方法。
我们使用git revert HEAD命令就可以创建一个新的版本此版本与上一个版本相同。
```
git revert HEAD :撤销前一次 commit
git revert HEAD^ :撤销前前一次 commit
git revert commit + (commit id) 撤销指定的版本,撤销也会作为一次提交进行保存。
```
```
git reset --soft HEAD^:将最近一次提交节点的提交记录回退到暂存区
git reset --mixed HEAD^:将最近一次提交节点的提交记录回退到工作区
git reset --hard HEAD^:将最近一次提交节点的提交记录全部清除
git revert是用一次新的commit来回滚之前的commitgit reset是直接删除指定的commit。
```