git

1.创建版本库

(1)首先选择一个合适的地方,创建目录

(2)通过git init命令把这个目录变成Git可以管理的仓库:

2.讲文件添加到版本库

(1)编写readme.txt

(2)用命令git add告诉Git,把文件添加到仓库

(3)用命令git commit告诉Git,把文件提交到仓库

备注:git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。一个一次add多个文件,然后一次commit

git status命令可以让我们时刻掌握工作区的状态

git diff顾名思义就是查看difference,查看修改的内容

3.提交修改文件

(1)git add

(2)git commit

备注:在修改文档未提交时,查看git status命令得到反馈readme.txt被修改过了,但还没有准备提交的修改。在文档添加后,即完成(1),使用git status告诉我们,将要被提交的修改包括readme.txt,提交后,即完成(2)后,我们再用git status命令看看仓库的当前状态,此时Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的

4.回退

commit相当于快照,一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失

git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。

基础知识:Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

使用git reset完成版本的回退,命令如下:

$ git reset--hard HEAD^   //回到上一个版本

HEADisnowatea34578adddistributed

备注:回退后再log中查不到未来的信息了,也有办法恢复

(1)知道append GPL的commit id,此时可以通过git reset 即可回到未来状态

(2)不知道append GPL的commit id,使用git reflog查找之前的命令,找到commit id 即可回到未来状态

add是将文件存在暂存区,commit是将文件放入master中,也即放入当前的分支中

commit只提交当前被add的操作

5.撤销修改的操作

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库

6、文件删除

(1)本地删除,版本库也要删除,操作为:git rm删掉,并且git commit

(2)本地删除,版本库存在,要恢复文件,操作为:git checkout,本质是让版本库中的文件代替当前工作区的文件,此时工作区文件恢复了,但最新一次的修改未保存

GitHub作为git的远程仓亏,可以设置,完成SSH加密传输

也可以自己创建Git远程库

7.多人协作

(1).当一个成员创建了一个项目时,其他人使用git clone克隆一个本地库,命令为:$ git clone [email protected]:michaelliao/gitskills.gi

注意把Git库的地址换成你自己的,然后进入对应目录查看,即可看到该项目中的文件

(2)多人协做时,可以创建自己的分支,来达到既保留自己当前的进度,又不影响别人工作的效果。

操作步骤:

首先创建自己的分支,然后切换到新创建的分支。命令为:

$ git checkout -b dev  //创建+切换到当前分支

可以用git branch命令查看当前分支进行验证,得到的结果当前分支前面会标一个*号。

然后切换到分支后可以进行文件的修改,然后通过add和submit完成修改提交

接着切换到master分支(所有人在的分支),并将dev分支上的内容合并到master上,命令为;

$ git checkout master  //回到master分支

$ git merge dev        //合并到master分支上

最后可以删除dev分支,再次查看当前的分支  命令为:

$ git branch -d dev    //删除dev分支

$ git branch          //查看当前分支

8.打标签

标签的作用是将commit id 转换成标签,便于查找,命令为:

$git tag v1.0          //默认标签是打在最新提交的commit上的

给历史的commit提交标签,需要找到之前的comment ID,然后使用命令:

$git tag v0.96224937  //其中96224937为commit ID

完成过程中可以通过git tag命令查当前的tag

还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字。例如:

$git tag -a v0.1-m"version 0.1 released"3628164

命令git push origin 可以推送一个本地标签;

命令git push origin --tags可以推送全部未推送过的本地标签;

命令git tag -d 可以删除一个本地标签;

命令git push origin :refs/tags/可以删除一个远程标签

你可能感兴趣的:(git)