Git Switch 指南
git switch
命令用于切换分支或创建新分支。以下是常见用法:
切换到已存在的分支:
git switch <分支名>
例如:
git switch main
创建新分支并切换到该分支:
git switch -c <新分支名>
例如:
git switch -c feature-branch
基于特定的提交创建新分支:
git switch -c <新分支名> <提交哈希>
例如:
git switch -c bugfix-branch 1a2b3c4
切换到上一个分支:
git switch -
切换到某个标签:
git switch --detach <标签名>
例如:
git switch --detach v1.0.0
放弃本地更改并切换分支:
git switch -f <分支名>
警告:这会丢失未提交的更改。
从远程分支创建本地分支并切换:
git switch -c <本地分支名> origin/<远程分支名>
例如:
git switch -c local-feature origin/feature
注意事项:
- 使用
git switch
前,确保当前工作区是干净的,或者已经提交/暂存了更改。 - 如果有未提交的更改与目标分支冲突,Git 会阻止切换。
- 使用
git switch --detach
会进入"分离头指针"状态,在此状态下的提交可能会丢失,除非创建新分支。
查看所有分支:
Git Commit 使用技巧
快速提交所有更改:
git commit -am "提交信息"
注意:这只会提交已被 Git 跟踪的文件的更改。
使用别名快速提交: 首先设置别名:
git config --global alias.ac '!git add -A && git commit -m'
然后使用:
git ac "提交信息"
记住:虽然这些快捷方式可以提高效率,但在提交之前仍然要仔细检查您的更改。
Git 错误恢复指南
如果您不小心提交了不需要的更改,可以使用以下方法回到上一步:
撤销最近的提交,但保留更改:
git reset --soft HEAD~1
这允许您重新审视更改并重新提交。
撤销最近的提交并丢弃更改(谨慎使用):
git reset --hard HEAD~1
警告:这将永久删除最后一次提交的所有更改。
创建一个新的提交来撤销之前的提交:
git revert HEAD
这会创建一个新的提交,撤销上一次提交的更改。
修改最后一次提交:
git commit --amend
用于修改提交信息或添加遗漏的文件。
注意:如果您已经推送了提交到远程仓库,使用这些命令后可能需要强制推送(git push –force)。请谨慎使用强制推送,特别是在共享分支上。