一
1.修改文件
现在我们已经成功添加并提交了一个readme.txt文件,此时我们继续修改文件。
Git is a distributed version control system. Git is free software.
git status 查看状态:
modified: readme.txt #已经修改过了
2.查看修改的具体内容
假如时间过长忘记了自己过去进行了什么操作,可以用git diff命令,它可以看到我们做了哪些修改。
3.提交数据
知道了做了哪些操作之后,这时候可以放心的提交到仓库了。
git add readme.txt
git status
git comment -m "add disturbute"
4.提交后的状态
git status 当前没有提交的数据,工作区是干净的。二版本回退
现在对readme.txt文件进行修改,然后新建一个licence.txt文件,git status 得到的状态是readme.txt被修改了但license未被add,所以状态为untracked。
1.查看历史记录:git log #可以看到的是最近的几次操作
git log --pretty=oneline #返回版本号
2.回退操作
HEAD 表示当前版本,HEAD^表示上一个版本 上上个版本则是HEAD^^
git reset --hard HEAD^
cat readme.txt #查看文件,发现果然还原了。
3.反回退操作
找到之前那个操作的版本号: git reset --hard 版本号(写前几位就行)
4git reflog 用来记录每一次命令
三.工作区与暂存区
工作区:
在电脑中看到的目录,learngit文件就是一个工作区。
版本库:
工作区的隐藏目录.git,是git的版本库。git为我们自动创建了一个叫master的分支,head是指向它的指针。
版本库分为暂存区和master分支,add就是添加到暂存区,commit则是把当前暂存区的内容提交到当前分支。
git add 两次 git status查看状态,把两个修改放到了暂存库,commit一次性把两个操作提交到分支。
四.管理修改
git跟踪管理的是修改,而不是文件。
修改readme文件 add 再次修改readme文件 commit
git status发现只有第一个修改被提交了,因为第二次没有把修改记录提交到暂存区。git把暂存区的操作提交了。
五.撤销修改
git checkout --readme.txt 把添加到暂存区的文件,撤回到工作区。
在还没有添加暂存区的文件撤回操作。
六.删除文件
1.现在删除一个test.txt文件,rm test.txt。但是如果我们已经把这条修改提交到master,git 上有记录。可以回退操作。
2.在版本库中删除该文件 git rm test.txt git commit - m ""remove test.txt"