分支指针、HEAD、索引和工作树移动的所有可能组合



可以执行哪些操作来获得移动的所有可能组合

  • 分支指针
  • 头部
  • 索引
  • 工作树

假设我们有这样的布局:

* 1234567 (HEAD -> K, b) 2nd
* 7654321 (a) 1st

我们目前在分支K上。分支ab的设置是为了方便编写示例

单次移动

分支指针

git checkout --detach; git branch -f K a

头部

git checkout --detach a; git restore --worktree --staged --source=b .

或者,过去的方式(仍然有效(:

git checkout --detach a; git checkout b -- .

索引

git restore --staged --source=a .

工作树

git restore --worktree --source=a .

2个项目的组合

分支指针和HEAD

git reset --soft a

分支指针和索引或工作树:

运行这两个项目以分别移动它们。

HEAD和索引

git checkout --detach a; git restore --worktree --source=b .

头部和工作树

git checkout --detach a; git restore --staged --source=b .

索引和工作树

git restore --worktree --staged --source=a .

在过去:

git checkout a -- .

3个项目的组合

除分支指针外的所有

git checkout --detach b

除头部外的所有

git checkout --detach; git branch -f K a; git restore --staged --worktree --source=a .

除索引外的所有

git reset --hard a; git restore --staged --source=b .

除工作树外的所有

git reset a

移动所有内容

git reset --hard a

相关内容

最新更新