git整理(二)

非 Y 不嫁゛ 提交于 2019-11-30 07:21:17

Git

回退版本

#回退至上一次提交的版本#中间的六个长度的字符串对应的是日志信息的提交id的前六位#网上回退100个版本$ git reset --hard HEAD~100$ git reset --hard HEAD^HEAD is now at c338f61 第三次提交​#回退至指定版本$ git reset --hard cac83aHEAD is now at cac83a7 第二次提交​#查看使用过的指令$ git reflogcac83a7 (HEAD -> master) HEAD@{0}: reset: moving to cac83ac338f61 HEAD@{1}: reset: moving to HEAD^99d4ce1 HEAD@{2}: commit: 第四次提交c338f61 HEAD@{3}: commit: 第三次提交cac83a7 (HEAD -> master) HEAD@{4}: commit: 第二次提交77c2b2c HEAD@{5}: commit (initial): 第一次提交

Git提交过程

我们首先要理解git的提交过程第一步是用git add把文件添加进去,实际上就是把文件修改添加到缓存区;第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到本地仓库。创建Git版本库时,Git自动创建一个master分支,所以,现在,git commit就是往master分支上提交更改。​

管理修改

​#查看a文件$ cat a.txtaaaaaaaaaaa#修改文件后查看$ cat a.txtaaaaaaaaaaabbbbb#add到缓存区$ git add a.txt#再修改文件$ cat a.txtaaaaaaaaaaabbbbbcc#直接commit到本地仓库$ git commit -m "第三次提交"[master a4c3eaf] 第三次提交 1 file changed, 1 insertion(+)#此时查看a.txt的状态还是修改未添加提交,这是因为,commit只把add到缓存区的文件commit到本地仓库,因此只要修改文件,都要先add再commit,这同时也是Git的一种安全机制​#git diff对比修改你修改过的文件会清楚的标识出来$ git diffdiff --git a/learn2/a.txt b/learn2/a.txtindex 776474b..a8ff3e8 100644--- a/learn2/a.txt+++ b/learn2/a.txt@@ -4,3 +4,4 @@ ccccccc ddddddddd eeeee fffff+gggg​

撤销修改

​你写代码,写完提交了,突然发现自己写错了,这时候就需要回退一下#先修改一次提交$ cat a.txtaaaaaaaaaaabbbbbbbbccccccc​$ git commit -m "第三次提交"[master a4c3eaf] 第三次提交 1 file changed, 1 insertion(+)​再修改a文件$ cat a.txtaaaaaaaaaaabbbbbbbbcccccccddddd添加到缓存区$ git add a.txt回退版本$ git checkout -- a.txt此时再查看a文件$ cat a.txtaaaaaaaaaaabbbbbbbbccccccc发现回退到修改前的版本​再修改a文件$ cat a.txtaaaaaaaaaaabbbbbbbbcccccccddddd添加到缓存区$ git add a.txt查看a文件的状态 发现已经添加到缓存区 可以提交的状态$ git statusOn branch masterChanges to be committed:  (use "git restore --staged <file>..." to unstage)        modified:   a.txt用命令git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区:$ git reset HEAD a.txtUnstaged changes after reset:M       learn2/a.txt查看a文件的状态 发现未添加到缓存区 可以添加的状态$ git statusOn branch masterChanges not staged for commit:  (use "git add <file>..." to update what will be committed)  (use "git restore <file>..." to discard changes in working directory)        modified:   a.txt​no changes added to commit (use "git add" and/or "git commit -a")​

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!