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-mergerebase-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
posted @ 2025-07-23 11:07  伍壹丷  阅读(15)  评论(0)    收藏  举报