git个人笔记
学习来源:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
安装:略
第一步:创建版本库
$ mkdir learngit (mkdir 创建版本库名为learngit)
$ cd learngit (cd 切换到learngit)
$ pwd (pwd 显示当前文件夹)
第二步:通过命令 git init 把这个目录变为git可管理的仓库=
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git
的目录,
这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了
第三步:在文件夹下右键新建 xiao.txt 文件
然后手动在xiao.txt 里面填写内容 并保存
注意事项:不要使用win自带记事本进行编辑。建议使用Notepad++
创建好后 用命令告诉git 把文件添加到仓库里面去
执行完成后。他不会有任何提醒。
添加完成后,就提交 git commit -m "xiao.txt提交" (-m后面字符串是提交内容。也就是说更新了什么说明一下)
提交完成后,按正常来讲也就结束了。 但我们还要继续学习其他的内容
第四步:查看修改的内容
我们对xiao.txt 内容进行再次编辑
执行命令 git status 如下图 提示 已经被修改 但没有提交
查看修改的内容 git diff xiao.txt 下图字符串显示绿色 代表是修改的内容
检查没有问题后 把他提交到仓库
git add xiao.txt
然后我们再检查一下 下图:git status
告诉我们,将要被提交的修改包括readme.txt,下一步,就可以放心地提交了:
提交
下图:Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的。
查看历史提交记录 版本命令
git log commit 后面的字符串 是commit id
(版本号)
回退之前的版本:回退版本 git reset --hard HEAD^ HEAD代表当前版本 ^代表回退上一个版本 如果回退100个的话就是 HEAD~100
上一步。回退上一个版本
注意:回退到上一个版本后 当前版本查找历史版本(git log)是找不到了的,当前版本是没有了的,如果当前窗口没有关闭可以通过 之前查找出来的版本 id 进行更新
如:git reset --hard id号
当然:如果我关闭电脑了,也看不到之前的id了,该怎么办
执行命令: git reflog ff795bd 就是id号
-
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。 -
穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 -
要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。
管理修改:
记得每次修改够要 git add 把他放到工作区,然后在git commit
第一次修改 -> git add
-> 第二次修改 -> git add
-> git commit
撤销修改:
情况1:编辑了文本保存 。但不知道修改了那些地方。
执行命令 git checkout -- 文件.后缀名
情况2:已经通过git add 放到暂存区了。
执行命令 git reset HEAD -- 文件名.后缀名 (撤销暂存区)
git checkout -- 文件.后缀名
情况3:已经git commit提交到了版本库了
执行命令:git reset --hard HEAD^ 回退到上一个版本。但有一个条件。就是还没提交到远程版本库。
删除文件:
把整个文件删除命令: rm 文件名.后缀名
这个时候虽然电脑上文件没了。但在版本库里面是有的。我们需要处理一下
我们可以通过git status 查看一下修改的东西
会提示 :deleted: test.txt 说明这个被删除了
情况1:我是真的要删除的、
那么再执行命令 git rm test.txt
然后再执行 git commit -m "说明"
情况2:误删了、需要找回来
执行撤销操作:git checkout -- test.txt
情况3 已经执行了情况1,通过回退上一个版本 执行命令:git reset --hard HEAD^