TIL — git switch & git restore
It was such an ordinary day at work. I was pair programming with my friend (hi Pedro
), we finished a feature and then he jumped to the command line to type
. Instant WTF moment! I have been using
for years and I have never come across this one. I jumped on the docs, learned a thing and now it is time to share it with you.
New stuff in Git 2.23
Switching branches and restoring files to its initial state are very common operations. Why the hell should we use a single
command to perform such different actions? Turns out that Git 2.23
added much more descriptive commands:
git switch git restore
Nice and simple! Let's have a look at the related part of release notes.
Two new commands “git switch” and “git restore” are introduced to split “checking out a branch to work on advancing its history” and “checking out paths out of the index and/or a tree-ish to work on advancing the current history” out of the single “git checkout” command.
Some examples of how to use commands that we have learned today. Enjoy!
# switch to new-feature branch git switch new-feature # create and switch to new-feature branch git switch -c new-feature # create and switch to blank new-feature branch # all tracked files are removed git switch --orphan new-feature
# discard index.js changes git restore index.js # discard all files in the current directory git restore . # restore index.js from master branch git restore --source master index.js
- 实战 Git 分支策略
- git shallow clone 的一个问题
- Linux / Unix desktop fun: gti get jeep/car when you mistype git
- The right way to email a git repository
- TIL — git switch & git restore
- JAVA 使用jgit管理git仓库
- LWN: "git request-pull"里的混乱diffstat信息
- git clone下代码window与unix换行问题
- go-git-dir: simple git hosting with a built-in SSH server