常见问题
# 常见问题
# 1 版本回退
查看提交记录
复制指定
commit的版本id。git log1版本回退
git reset1git reset --soft暂存区、工作区保持不变,本地仓库回滚到指定版本
commit完成后的那一刻。git reset --mixed工作区保持不变,本地仓和暂存区 回滚到指定版本。
git reset --hard本地仓、暂存区、工作区都回滚到指定版本。
简述:
- soft(直奔暂存区)
- 工作区:不变
- 暂存区:不仅保留当前,还有指定版本到当前版本的提交内容
- mixed(直奔工作区)
- 工作区:不仅保留当前,还有指定版本到当前版本的提交内容
- 暂存区:当前的内容,返回到工作区
- hard(直接还原)
- 工作区:没了
- 暂存区:没了
# 2 修改commit message
git commit --amend
1
# 3 查看修改内容
查看工作区和版本库里面最新版本的区别:
git diff <file>
1
# 3.1 版本比对
git diff [first-branch]...[second-branch]
优化处理:
只显示变更文件
git diff --name-only1变动文件状态(添加,修改,还是删除)
git diff --name-status1
# 4 复制修改内容
- 记录 commit_id
git cherry-pick <commit_id>
# 5 远程强制覆盖本地
git fetch -all
git reset --hard origin/<branch>
git pull
1
2
3
2
3
一键copy
git fetch --all && git reset --hard origin/<branch> && git pull
1
# 6 查看commit id属于哪个分支
git branch --contains <commit id>
git branch --contains <commit id> -r // 加远程
1
2
2
# 7 查找两个分支共同的祖先
git merge-base branchA branchB
1
# 8 github加公钥
# 9 不再跟踪某文件 git 记录
单个文件
git rm --cached -r .DS_Store1多个文件
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch1