![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
git
文章平均质量分 65
薛定谔的缝纫机
这个作者很懒,什么都没留下…
展开
-
git基本操作五:对Commit修改历史记录
前面介绍的git rebase命令有一种强大的互动模式。接下来我们介绍怎么使用这种模式来改动过去的历史记录。查看当前的状态。启用互动模式,使用git rebase指令,加入-i参数git rebase -i 28a728a这个指令会弹出一个Vim编辑器。这个需要注意的是:1、上面的顺序是与git log指令的结果是相反的2、上面的picks是指保留这次Commit,不做改动。把pick改成reword,表示要改动这两次的Commit信息。存档离开之后会出现一个Vim编码器画面。把内容改成原创 2021-09-03 16:48:16 · 311 阅读 · 0 评论 -
git基本操作四:分支的操作与冲突解决
查看当前分支,git branch后面没有接任何的参数的时候,仅会输出当前在这个项目上有哪个分支。Git会默认设置一个名为master的分支。git branch要想创建一个分支,git branch后面加上想要创建的分支的名字git branch cat更改分支名称,使用-m参数git branch -m cat tiger删除当前分支使用-d参数 git branch -d dog 如果要删除的分支没有被合并,使用-d参数是无法删除的,这时使用-D参数强制删除。切换分支就原创 2021-09-03 16:00:09 · 227 阅读 · 0 评论 -
git基本操作四:分支的操作与冲突解决
查看当前分支,git branch后面没有接任何的参数的时候,仅会输出当前在这个项目上有哪个分支。Git会默认设置一个名为master的分支。git branch要想创建一个分支,git branch后面加上想要创建的分支的名字git branch cat更改分支名称,使用-m参数git branch -m cat tiger删除当前分支使用-d参数 git branch -d dog 如果要删除的分支没有被合并,使用-d参数是无法删除的,这时使用-D参数强制删除。切换分支就原创 2021-09-02 18:05:58 · 414 阅读 · 0 评论 -
git的原理三:checkout的原理
这里我们介绍的就是checkout的时候.git目录里面发生了什么我们先查看当前的Commit我们尝试checkout到另一个Commit的时候。git checkout a65ed71因为a65ed71这个Commit没有分支指着,所以会发生detached HEAD的情况,当切换到这个节点的时候Git会把原本在.git/objects中以SHA-1计算命名的目录及文件,一个个复原成原来的样子。已经没有README.md文件了。Git在就算改动一个字,因为算出来的SHA-1值不同,也会原创 2021-09-02 16:20:19 · 1019 阅读 · 0 评论 -
git原理二:分支的原理
我们继续前进,对index.html做一些修改,然后add。这里我们会在.git/object下多了一个目录。然后我们commit。有多了一个目录和文件我们一个一个来查看这个Tree对象与上一次Commit对象相比,内容发生了改变,代表index.html的Blob对象指向了新的index.html所代表的对象了。然后我们查看另一个对象这是一个Commit对象,基本信息与 上一次Commit的差不多,但是比以前多了一个parent的信息,表示指向上一次的Commit。除了第一次Commi原创 2021-09-02 15:11:14 · 52 阅读 · 0 评论 -
git原理二:分支的原理
这里我们介绍分支的原理Git中的分支会随着每次Commit不断的移动,我们可以修改一下之前index.html的内容。然后add。add之后会在.git目录下生成新的文件。相比之前多了一个d5目录然后继续commit接下来我们发现又会多了几个文件我们在继续查看这些目录和文件这和我们上一次提交的Commit中代表根目录的Tree对象相似,只是内容不太一样,指向了新的Blob对象,这个新的Blob对象正是我们修改后的index.html文件。我们查看另外一个 对象这是一个commit原创 2021-09-02 14:39:24 · 211 阅读 · 0 评论 -
git原理一:.git文件探索
开始介绍.git目录之前,我们要知道,在Git中,有4种很重要的对象。分别是Blod对象,Tree对象,Commit对象以及Tag对象。首先创建一个index.html文件,内容是“hello,5xRuby”。使用git add命令加入到暂存区。把文件加入到暂存区之后,Git便会在.git目录生成一个Blob对象。这个Blob对象用来存放index.html文件的“内容”。这里的内容并不是把整个index.html文件搬到.git目录。我们使用git hash-object命令来计算Blob对象的SHA原创 2021-09-02 11:56:15 · 283 阅读 · 0 评论 -
git基本操作三:对commit的操作
刚刚完成commit,但发现有一个文件忘了加上,又不想为了这个文件重新commit,这时我们可以追加文件到最近一次的commit。我们这里有一个名为Cinderella.html的文件,想把它加到最近的一次commit,先git add,然后使用下述命令。git commit --amend --no-edit如果是创建了一个空目录,再看一下状态,Git的状态没有发生改变,这是因为Git在计算产生对象的时候,是根据“文件内容进行计算的”。所以只是新增一个空目录,Git是无法处理的。空的目录是无原创 2021-09-01 22:45:30 · 712 阅读 · 0 评论 -
git基本操作二:查看日志信息,删除和重命名文件
查看记录的方法git log越新的消息会显示在越上面,从这里可以看出1:commit的作者和日期2:每次commit的时候都做了一些什么查看更精简的信息git log --oneline --graph想要查找某个人的commit git log --oneline --author="sheryly"删除文件直接rm删除一个文件,只是在工作区删除了,然后还得使用git add把改动加入到暂存区,接下来可以commit了使用Git帮你删除git rm welcome.htm原创 2021-09-01 18:17:20 · 403 阅读 · 0 评论 -
git基本操作一:git add和git commit
设置缩写git config --global alias.co checkout这样设置之后,只需输入git co命令,就可以实现与输入git checkout命令一样的效果查看详细的log信息git log --oneline graph原创 2021-08-31 18:15:39 · 942 阅读 · 0 评论 -
git创建分支提交代码到远端
初始化一个git目录mkdir gittestgit初始化git init此时会提醒你初始化了一个空的git目录,并且生成一个.git目录随意写一个hello.cc#include <iostream>int main(){ std::cout << "Hello world" << std::endl; return 0;}添加到仓库git add hello.cc没有消息就是最好的消息然后提交,打印一个日志消息原创 2021-08-18 20:57:25 · 150 阅读 · 0 评论