美文网首页
git学习记录

git学习记录

作者: 二傻吧 | 来源:发表于2019-01-10 13:16 被阅读0次

    git安装好以后通过win+r,输入cmd,打开命令窗口,cd进入到自己新建的文件夹,git init新建一个git仓库。

    git中,我们理解有三个类型的库,一个是我们目前所在的工作路径文件夹(也就是现在自己刚刚cd进来的新建的文件夹),这个文件夹用来存放我们最新的文件,第二种是用于缓存你修改后的文件版本的,第三种是用于最终储存你想放入,存起来的文件的仓库。

    在这个新建的文件夹中,打开隐藏文件可以看到自己的.git文件夹,在新建的文件夹中再建一个文件,比如filename文件,现在想把这个文件加到git仓库中,

    1.首先需要将文件加到缓存库中。

    git  add filename

    2.再之后需要将缓存库的内容加到git仓库中

    git commit -m “ the description”

    3.恢复缓存区文件

    如果本地文件有修改,则可以通过add将缓存区的内容用新文件覆盖,或者用缓存区的文件覆盖掉本地的新文件。

    git checkout filename

    4.恢复git仓库文件

    另外有reset。reset也有这样恢复文件的作用。reset可以把git仓库的文件恢复到本地。其中有三种选择,--mix,--soft,--hard。三种不同的功能。

    (reset实际上有3个步骤,根据不同的参数可以决定执行到哪个步骤(--soft,--mixed,--hard)。

    改变HEAD所指向的commit(--soft)

    执行第1步,将Index区域更新为HEAD所指向的commit里包含的内容(--mixed)

    执行第1、2步,将Working Directory区域更新为HEAD所指向的commit里包含的内容(--hard)

    注意

    –mixed是默认参数,也就是说执行reset的时候不给就认为是--mixed。

    下表说明了三种形式的git reset所产生的不同效果。

    target代表想要将git指向到哪个commit

    )此内容来自https://blog.csdn.net/love_hot_girl/article/details/80902386,感谢楼主。

    如果要回到上一个状态,可以用git reset HEAD^.上上个状态可以用git reset HEAD^^,有几个^就代表恢复到上几个状态,但是如果次数太多可以直接用~n来表示,例如

    git reset HEAD~100

    就代表回到前100的状态。

    5.查看git所有库状态

    如果要查看当前git中的状态我们 可以用git status。其中会有提醒哪些文件发生了改变还没有提交。

    6.查看提交记录

    同样我们可以通过git log查看我们操作过的命令(只显示commit之后的,每个commit都有一个对应的commit id,我们可以结合reset和commit id来恢复我们想要的某一步中的文件)

    7.查看全部提交记录

    git log可以查看目前库中commit的记录。但是被reset覆盖之后的记录是无法查看的。我们可以用git reflog来完成这个目的,查看所有出现过的commit id。

    8.新增分支

    git中初始化时会有一个默认的分支,名为“master”,有时候我们需要把项目做一个复制本出来调整bug。可以通过新建分支来完成,也就是把我们接下来要改的内容都放在一个新的仓库中。不跟原版本冲突。

    git branch br-name

    这就完成了一个名为“br-name”的分支的新建

    可以通过git checkout br-name来切换到“br-name”分支 。

    也可以合并上面的两步,直接用

    git checkout -b br-name 来新建一个名为“br-name ”的分支,并把目前的指针指向br-name 。

    9.合并分支

    有时候需要把改好的分支进行内容合并。那我们可以通过git merge。

    也可以直接用git br-name1 br-name2来合并两个分支。

    10.删除分支和文件

    10.1删除分支

    git中我们合并完分支以后需要将之前的复制本,也就是那个分支删掉,可以用

    git branch -d br-name(这个命令适合合并之后删除)。

    如果你不想合并就直接把分支删掉,可以用git branch -D name。强制删除。

    10.2删除文件

    如果我们本地删除了一个文件,git中只会提醒你,状态发生变化了,但是不会影响到git库中的文件。如果想删除缓存区的文件

    git rm --cached name

    可以完成缓存区的删除。

    如果是想删除git库里的文件,可以直接用git rm filename,完成删除。

    删除后如果你想恢复文件还可以通过git checkout filename来恢复。

    但是如果在rm 后面加了-f这个参数的话,文件将无法恢复。

    相关文章

      网友评论

          本文标题:git学习记录

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