git学习

前言

Git是一个优秀的分布式版本控制系统,使用起来确实比较方便。

趁着周末花了两个小时学习了一下基础命令,以目前我的理解来说,它主要是方便我们保存进度,类似于存档机制,理解有误不接受反驳(哼 。

本地仓库

初始化仓库

首先我们可以在本地新建一个目录,然后运行初始化命令让它成为一个repository,因为这样我们才能使用git命令进行添加和提交等操作:

1
$ git init

添加文件

我们通常先将编写好的代码文件储存在到本地仓库,最后push到远程仓库中(github),在本地添加文件到仓库需要两个步骤:添加提交

添加类似于先把文件放在缓冲区中,可以连续添加多个文件,最后一并提交:

1
$ git add <file_1> <file_2> ... <file_n>

然后提交,这里的 -m 参数是写一段描述信息,方便以后查阅:

1
$ git commit <file> -m "your description"

这样我们就把文件添加到本地仓库了~

推送至远程仓库

接下来把本地仓库push到代码托管平台:

1
2
$ git remote add origin git@github.com:sketchpl4ne/learngit.git
$ git push -u origin master

这样我们就把本地仓库的内容推送到github上了~

远程仓库

我们使用得最多的应该就是把github上的项目克隆到本地,比如将我最近fork的一个程序猿养成计划的项目clone到本地:

1
$ git clone git@github.com:sketchpl4ne/growing-up.git

当然这里也支持http://协议,不过默认的git://使用ssh速度应该是更快的。

其他命令

历史记录

1
$ git log

当前状态

1
$ git status

版本回退

1
$ git reset --hard HEAD^^^ //回退到上三个版本

由于cmd下 ^默认换行符,需要用双引号包裹:

1
$ git reset --hard "HEAD^^^"" //回退到上三个版本,cmd版

删除文件与撤销删除

如果在当前目录删除了文件,需要在git下同步删除,使用 git status会有提示,如果真的要删除的话,与添加文件类似,先删除,再提交:

1
2
$ git rm whz_tianxiadiyi.txt
$ git commit -m "remove whz_tianxiadiyi.txt"

如果是误删的话,一条命令即可恢复:

1
$ git checkout -- whz_tianxiadiyi.txt

分支

创建分支:

1
$ git branch dev

切换分支:

1
$ git checkout dev  //注意与恢复删除区分

查看当前分支:

1
$ git branch

然后在分支下进行一系列操作(添加文件之类)

合并分支:

1
2
$ git checkout master
$ git merge dev

删除分支:

1
$ git branch -d dev

小结

说来惭愧,注册GitHub账号快一年了,除非需要下载一些工具几乎不怎么看github;一是访问速度慢+全英感觉不是很友好,二是就个人来说对大多数人推荐的东西不是很想了解(github,docker,bootstrap 等等…)

不过最近有在慢慢改变,感觉之前太浮躁了,为了进线下/拿奖而CTF,没进就开始自闭。线下需要进,但也别忘了打CTF的乐趣吧~

0%