git
checkout
git checkout # 撤销所有未提交的修改
git checkout -f # 丢弃当前目录的所有更改
git checkout -f (branch) # 切换到branch分支,覆盖当前所有未提交更改
pull
git pull # 从远程仓库拉取最新代码合并到当前分支
相当于git fetch+git merge获取远程更新,合并到本地分支
remote
git remote update # 更新本地仓库中所有远程分支的跟踪信息,但不拉取远程代码合并到当前分支
clean
git clean -dfx # 删除工作目录中所有未跟踪的文件和目录。
# -d: 删除未跟踪的目录。
# -f: 强制删除(force)。
# -x: 删除被 .gitignore 忽略的文件(如构建产物)。
branch
git branch # 列出本地分支名称
git branch -v # 详细列出本地分支
git branch -vv # 比-v列出更详细的信息
reset
git reset --hard # 重置当前分支到 HEAD 提交,丢弃所有暂存区和未提交的更改。
rebase
git rebase #
会在.git目录下创建临时文件或目录,e.g.rebase-merge、rebase-apply
如果你有以下提交历史:
A --- B --- C (main)
\
D --- E (feature)
运行
git checkout feature && git rebase main
就会得到:
A --- B --- C --- D' --- E' (feature)
D 和 E 被“重放”为 D' 和 E',基于 main 的最新提交 C。
.lock文件
- 通常表示 Git 操作(如提交、变基、合并)正在进行,防止并发修改。
git垃圾回收(git gc)生成的日志文件,可能以.lock结尾(如gc.log.lock),但不是真正的锁文件,因此被排除。
&&
确保命令按顺序执行,只有前一个命令成功(退出状态 0)时才执行下一个。
git remote update && git checkout --force $2 && git pull

浙公网安备 33010602011771号