git 这样使用

Feb 12 2020

当我们进入一个项目,并使用 git 的时候,很少是通过 git init 开始的,项目组已经发布了代码,我们要做的第一步反而应该是拉去代码到本地,所以我们

1
$ git clone https://github.com/xxxx

这样会在当前命令行目录下创建一个 xxxx 目录,并将远程仓库中的代码克隆到该目录中的 .git 中,同时将最新版本的文件拷贝到 xxxx 目录下。我想改个名,更原仓库不一样,就这样

1
$ git clone https://github.com/xxxx yyyy

有时候会发现,有的仓库 clone 完毕以后目录里只有一个 .git,这涉及到分支的概念,当前分支下没有代码,所以需要查看一下都有哪些分支

1
2
3
4
$ git branch

dev
* master

* 表示当前使用的是 master 分支,而代码实际上在 dev 分支,所以切换过去

1
git checkout dev

现在查看 xxxx 目录,代码就刷新出来了

好了,当提交完本地仓库一段修改后发现有问题,想要回退到上一个提交,需要这样

1
$ git reset HEAD^

注意 HEAD 此时表示的是最新的提交,而 HEAD^ 表示上一个提交,或者 HEAD~1

等我修改完以后重新提交代码,之后发现漏掉了一个文件,我不想再提交一个新的 commit,则这样使用

1
$ git commit --amend

这样提交会要求重新输入 commit message,根据提示输入新的提交信息

现在我代码写得正爽,突然有个临时 bug 要改,我又不能提交当前的代码,我就这样做

1
$ git stash

于是当前分支下修改的所有文件都会储存起来,工作区是干净的,还原为当前分支的最新提交,可以临时修改 bug 了,一切处理完后,要继续开始之前的任务,那么这样

1
git stash apply

之前的修改又都恢复过来

今天是一些简单的 git 入门,在于快速了解 clone 代码和编写代码过程中经常遇到的场景

当然有的人喜欢敲命令就会有人喜欢设计工具,sourcetree 就是这样一款专注解决 git 使用的 GUI,有了它,我上面提的 clone 之后的操作,全部都能被托管了