git

作者: 跳跳1314 | 来源:发表于2017-11-01 16:23 被阅读0次

    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 git@github.com: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

          本文链接:https://www.haomeiwen.com/subject/cxlkpxtx.html