## 1、撤销修改后的文件
1. 本地*修改*了一些文件 (并没有使用 git add 到暂存区),想放弃修改
- 单个文件/文件夹:
```shell
git checkout -- filename
```
- 所有文件/文件夹:
```shell
git checkout .
```
2. 本地修改/新增了一些文件,已经 git add 到暂存区,想放弃修改
- 单个文件/文件夹:
```shell
git reset HEAD filename
1
```
- 所有文件/文件夹:
```shell
git reset HEAD .
```
https://blog.csdn.net/ustccw/article/details/79068547
## 2.[暂存](https://blog.csdn.net/weixin_44422604/article/details/111994539)
```bash
git stash
git stash list #查看“存储”的列表
git stash pop #恢复 同时把 stash 存储列表的内容也删了
```
**进阶使用**
```java
//暂存命名
git stash save "work in progress for foo feature"
//#查看“存储”的列表
git stash list
//可以将你指定版本号为stash@{1}的工作取出来
git stash apply stash@{1}
(Windows PowerShell下需要在 { 和 } 前加`,eg. stash@`{1`})
```
## 3.删除暂存区里的文件
```git
git rm --cache 文件名
```
## 4.git [修改分支名称](https://lele3.github.io/2019/02/14/git%E4%BF%AE%E6%94%B9%E5%88%86%E6%94%AF%E5%90%8D%E7%A7%B0.html)
### 1、本地分支重命名
`git branch -m oldName newName`
### 2、 重命名(对应远程分支)的本地分支
- 重命名(对应远程分支)的本地分支
`git branch -m oldName newName`
- 删除远程分支
`git push --delete origin oldName`
- 上传新命名的本地分支
`git push origin newName`
- 把修改的本地分支与远程分支关联
`git branch --set-upstream-to origin/newName`
### 3、查看当前代码仓库源
- 查看当前源
`git remote -v`
- 重设
`git remote set-url origin xxxx_url`
## 5、git配置
```shell
#查看全局配置
git config --list
git config --global -l
git config --global --unset XXX
git config --global --edit
#查看git用户名和邮箱地址命令:
git config user.name
git config user.email
#修改当前项目的用户名和邮箱地址:
git config user.name "username"
git config user.email "email"
#修改全局用户名和邮箱地址:
git config --global user.name "username"
git config --global user.email "email"
或者
git config --global --replace-all user.name "username"
git config --global --replace-all user.email "email"
```
## 6、[git 取消文件跟踪](https://cloud.tencent.com/developer/article/1766911)
**文件:**
```shell
git rm --cached readme1.txt 删除readme1.txt的跟踪,并保留在本地。
git rm --f readme1.txt 删除readme1.txt的跟踪,并且删除本地文件。
```
**文件夹:**
如果是对所有文件都取消跟踪的话,就是
```shell
git rm -r --cached . //不删除本地文件
git rm -r --f . //删除本地文件
```
**不使用的文件,可以使用.gitignore文件来进行清除:**
每次使用git status 查看状态时总是会列出被跟踪的文件,可以通过 .gitignore文件来达到目的;
## 7、github仓库问题
```shell
#添加远程仓库
git remote add origin repoUrl
#查看分支详情
git branch -vv
#查看与远程仓库
git remote -v
#检查当前git配置的所有代理设置(http.proxy/https.proxy)
git config --global -l
#设置git代理http,https(端口与代理服务器一致)
git config --global http(s).proxy http://127.0.0.1:11080
#解除proxy设置
git config --global --unset http(s).proxy
#解除SSL验证
git config --global http.sslVerify "false"
#链接远程仓库
git remote add origin http://192.168.51.165:90/e-scm/emtouch.git
#两个不同的项目合并,允许不关联的历史文件[https://www.jianshu.com/p/f28a3c1aabd7]
git pull origin master --allow-unrelated-histories
```
## 8、npm install失败问题
```shell
#已解决Cannot download “https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-83_binding
执行下面的命令:
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ -D
```
## 9、常见命令及说明
```shell
1.从远程拉取分支到本地
git checkout -b 本地分支名 origin/远程分支名
2、查看本地分支
git branch
3、查看远程分支
git branch -r
4、查看所有分支
git branch -a
5、新建一个本地分支
git branch 本地分支名
6、新建一个本地分支并切换到该分支
git checkout -b 本地分支名
7、切换到另一个分支
git checkout 分支名
8、将本地新建的分支与远程分支相关联(在当前分支下输入以下命令)
git branch -u origin/分支名 其中origin/分支名 中分支名 为远程分支名
或使用下面命令
git branch --set-upstream-to origin/分支名
9、查看本地分支与远程分支的映射关系
git branch -vv
10、撤销本地分支与远程分支的关系[https://blog.csdn.net/litongqiang/article/details/107388918]
git branch --unset-upstream
11、拉取远程分支
git fetch origin(不指定分支名就是远程全部分支)
git fetch origin XXX(拉下远程指定的分支)
12、删除本地的分支
git branch -d XXX
13、删除远程仓库的function分支.git push origin :XXX(用一个空的本地分支更新远程分支).
git push origin :XXX
14、合并分支
例如:想将dev分支合并到master分支,操作如下:
git checkout master //切换到master分支上
git pull origin master //把远程分支pull下去,及时更新
git merge dev //把dev分支的代码合并到master上
git status // 查看状态
git push origin master //push到远程分支
```
### 其他命令
```shell
更新远程分支列表
git remote update origin --prune
查看所有分支
git branch -a
删除远程分支Chapater6
git push origin --delete Chapater6
删除本地分支 Chapater6
git branch -d Chapater6
```
### 版本相关命令
```shell
#查看执行过的git命令历史
history
#查看本地commit历史
git log
#查看本地历史变更记录
git reflog
#回退本地版本
git reset --hard commit_id
#远程仓库也退到相应的版本
git push origin <分支名> --force
```
### 仓库相关命令
```shell
#强制 撤销删除 错误提交到远程仓库的commit(先reset head,再push --force)
git reset --hard <commit_id>
git push origin develop --force
```
标签:origin,常用,git,记录,--,本地,远程,分支 From: https://www.cnblogs.com/road2master/p/16861778.html