拉取远程分支并创建本地分支
使用如下 git 命令查看分支情况
git branch # 查看本地分支
git branch -r # 查看所有远程分支
git branch -a # 查看远程和本地所有分支
在输出结果中,前面带 *
的是当前分支。
使用 checkout 命令检出分支,并建立的本地分支会和远程分支建立映射关系。
git checkout -b 本地分支名x origin/远程分支名x
恢复本地误删的文件
通过 git 进行管理的项目,如果在本地编辑的过程中误删了某些文件或者文件夹,可以通过 git 操作来复原。
首先使用 git status
查看本地对改动的暂存记录,例如不小心删了工程中的 math 目录。
$ git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add/rm <文件>..." 更新要提交的内容)
(使用 "git restore <文件>..." 丢弃工作区的改动)
删除: math/CMakeLists.txt
删除: math/MathFunctions.c
删除: math/MathFunctions.h
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
由于 math 目录及其文件在之前已经提交了,因此可以通过 checkout 方式找回。
git checkout math
这样可以复原了。
如何撤销 add 操作
对于已经 add(暂存)但还没 commit(提交)的操作,可以使用如下命令取消暂存:
git reset <file>
或者取消所有暂存更改:
git reset
如何撤销 commit 操作
对于已经 commit 但还没 push 的操作,如果想要保留已经 add 的文件,可以使用如下命令:
git reset --soft HEAD^
这样就会回到 commit 之前 add 之后的状态,这里的 HEAD^
是上一个版本的意思,如果要回退到前 n 个,就表示为 HEAD~n
。
如果不需要保留 add 的文件,可以使用 --hard
选项,直接恢复到上一个 commit 结束的样子。
git reset --hard HEAD^
如果想同时撤销 add 和 commit 操作,但想保留工作空间的修改,可以使用 --mixed
选项。
git reset --mixed HEAD^
而如果是 commit 之后发现注释写错了,只想修改注释,可以使用下面命令进行修改。
git commit --amend