今天开始学习Git,所以就把每天学的东西写下来,不然真的太复杂,容易忘记呀。 这里推荐一个网站Webscripting2 — Serverside Webscripting — xx.git,英文一般般的都可以上去看看,我觉得非常直观。
首先Git,其实就是一个版本管理的仓库,因为写代码嘛,总要改来改去,万一改错了呢,想反悔怎么办?Git就是一个“后悔药”,你修改了什么东西,如果是重要的并且你想记录下来的,它就帮你保存下来,以后你就可以随时回到那个版本。
首先是安装,直接到官网Git下载exe文件就行了,然后一路默认安装。
安装成功发现有三个东西,Bash、CMD和GUI,其实都是用来进行操作的,习惯用哪个都行,我自己用的是Bash。打开之后,首先用git config进行一些设置,写一下你的名字和邮箱什么的,这个就是后面可以用来区分谁做出了修改的。
$ git config --global user.name "你的名字"
$ git config --global user.email 你的邮箱
然后,转到你指定的某个文件夹下面,用init新建一个仓库。
$ git init
就这样,仓库就建好了。但是里面没有东西呀,所以就可以手动把一些文件放到同一个文件夹下,假设放了个test.py文件。
两个常用的指令,status用来查询文件夹下的git状态,log则可以查看日志文件,有哪些版本,各自版本是做了什么修改。
$ git status
$ git log
之后就是让人头疼的地方了,先放一张图。
在这里,我们刚刚加入到文件夹中的test.py文件,就是处于Untracked的状态,也就是Git对它不管、不跟踪修改。使用add,就可以把它变成Staged,一种暂存的状态。再使用commit,变成Unmodified,Git才算正式接收这个文件,就可以开始对它进行版本管理了。
$ git add test.txt
$ git commit -m '修改信息,最好用英文'
这时,如果我们对test.py文件做出了修改,它就会自动变成Modified的状态,例如我在里面写了一行代码a=1,用status命令可以看到它变绿了。然后我们可以通过add加commit,提交一个版本。用log命令就可以看到我们提交上去的版本信息了。
$ git add test.py
$ git commit -m 'add a=1'
学到这里,可能我们就会有疑问,为什么会有Staged这样一个状态呢?能不能我修改了代码,变成Modified,就直接提交版本,变成Unmodified呢?这其实是Git的内部机制决定,除了Git,还有很多的版本控制工具,还真有不用Staged状态的。至于作用的话,看到一句很形象的总结:Staged是购物车,add就是加入购物车,commit就是确认付款。