本文根据 Devhints / Git branches 翻译。代码示例及版本范围沿用原文。原文标注更新日期:2020-02-13。
使用分支
创建
git checkout -b $branchname
git push origin $branchname --set-upstream
在本地创建新分支,然后将其推送到远程。
从远程获取
git fetch origin
git checkout --track origin/$branchname
获取远程仓库中的分支。
删除本地远程跟踪分支
git remote prune origin
删除 origin/* 本地副本中的分支。不会影响远程仓库。
列出现有分支
git branch --list
列出所有现有分支。当前分支会以星号标记。
列出已合并的分支
git branch -a --merged
列出已合并到当前分支中的旧分支。
删除本地分支
git branch -d $branchname
仅当分支中的更改已推送到远程并完成合并后,才删除该分支。
强制删除分支
git branch -D $branchname
git branch -d $branchname
说明:也可以用 -D 替代 -d;-D 等同于 —delete —force,会强制删除分支,无论该分支是否已经合并。
删除远程分支
git push origin --delete :$branchname
也适用于标签(tag)!
获取当前的 SHA-1 哈希值
git show-ref HEAD -s
重置分支并移除所有更改
git reset --hard
撤销提交,回退到指定的提交版本
git reset --hard $commit_id
# Now push safely to your branch
git push --force-with-lease
# Or push brutally to your branch
git push --force