将当前修改压到 HEAD commit
取消某个文件的更改
1
| git checkout -- <file_name>
|
参考:https://blog.csdn.net/qq_32907195/article/details/115333898
删除某个文件(夹)
1 2 3 4 5 6
| # 推荐 git rm <file_name>
# 相当于 rm <file_name> git add <file_name>
|
ignore 已经 push 到远端的文件
【问题】
.vscode 文件夹已经 push 到远程,如何 ignore?
【解决】
-
从 Git 索引中移除 .vscode 目录(不会删除本地文件夹,只是让 git 不再跟踪它):
1 2 3
| ➜ SG-DQA git:(main) git rm -r --cached .vscode rm '.vscode/launch.json' rm '.vscode/settings.json'
|
-
添加 .gitignore
文件
-
git add & git commit & git push
合并多个 commit

1 2 3 4 5 6
| # method-1 git rebase -i origin/main # method-2 git rebase -i ce75153a87 # method-3: 与要合并的commit数量一致 git rebase -i HEAD~8
|
patch
1 2
| git diff > xx.patch git apply x.patch
|
本地分支 & 远程分支
1 2 3 4 5 6 7 8 9
| # 查看本地分支关联(跟踪)的远程分支之间的对应关系 git branch -vv
# 推送当前分支到远程(没有对应分支) git push -f --set-upstream origin dragonliu/dictionary_mysql_opt
# 设置本地分支与远程分支的关联 git branch --set-upstream-to=origin/<远程分支名>
|
删除分支
1 2 3 4 5
| # 删除本地分支 git branch -D fix/authentication
# 删除远程分支 git push origin --delete fix/authentication
|
撤销 commit
1 2 3 4 5 6
| # 撤销本地 commit git reset --soft HEAD^
# 撤销远程 commit git reset HEAD^ git push -f
|
修改远程仓库链接
1
| git remote set-url origin git@github.com:Dragonliu2018/doris.git
|
切换 tag
1 2 3 4 5 6 7 8
| # 查看对应 tag 的代码,这时候 git 可能会提示你当前处于一个“detached HEAD" 状态。 # 因为 tag 相当于是一个快照,是不能更改它的代码的。 git checkout tag_name
# 基于 tag commit 进行修改 # 如果要在 tag 代码的基础上做修改,你需要一个分支 git checkout -b branch_name tag_name
|