当我们进入一个项目,并使用 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 分支,所以切换过去
现在查看 xxxx 目录,代码就刷新出来了
好了,当提交完本地仓库一段修改后发现有问题,想要回退到上一个提交,需要这样
注意 HEAD 此时表示的是最新的提交,而 HEAD^ 表示上一个提交,或者 HEAD~1
等我修改完以后重新提交代码,之后发现漏掉了一个文件,我不想再提交一个新的 commit,则这样使用
这样提交会要求重新输入 commit message,根据提示输入新的提交信息
现在我代码写得正爽,突然有个临时 bug 要改,我又不能提交当前的代码,我就这样做
于是当前分支下修改的所有文件都会储存起来,工作区是干净的,还原为当前分支的最新提交,可以临时修改 bug 了,一切处理完后,要继续开始之前的任务,那么这样
之前的修改又都恢复过来
今天是一些简单的 git 入门,在于快速了解 clone 代码和编写代码过程中经常遇到的场景
当然有的人喜欢敲命令就会有人喜欢设计工具,sourcetree 就是这样一款专注解决 git 使用的 GUI,有了它,我上面提的 clone 之后的操作,全部都能被托管了