标签:remote 多次 添加 版本 git add 使用 reset 远程仓库 本地仓库
git init
进入一个文件,执行该命令此时目录下多了一个.git
的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。如果你没有看到.git
目录,那是因为这个目录默认是
隐藏的,用ls -ah
命令就可以看见。
git add xxx
xxx可以是“.”表示所有文件,也可以是指定的文件名,该命令可反复多次使用,添加多个文件
git commit -m "xxx"
xxx是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
执行完该命令可能会提示:
1 file changed
:1个文件被改动
2 insertions
:插入了两行内容
??如果不用git add
到暂存区,那就不会加入到commit
中
git status
执行完该命令可能会提示:
Changes not staged for commit(还没有准备提交的修改)
情况一:查看当前文件的修改
git diff xxx
xxx想要查看修改的文件名
情况二:查看当前版本和版本库最新版本的区别
git reset HEAD -- xxx
xxx想要查看修改的文件名
git log
命令显示从最近到最远的提交日志,可以通过git log来确定要回退到哪个版本
git log --pretty=oneline
嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数
??你看到的一大串类似1094adb...
的是commit id
(版本号)
git reset --hard xxx
xxx表示版本号或者HEAD
git reset --hard HEAD^
git reset --hard HEAD^^
git reset --hard HEAD~100
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD
表示当前版本,也就是最新的提交1094adb...
(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较
容易数不过来,所以写成HEAD~100
。
git reset --hard xxx
xxx是想要回退的那个版本的commit id(版本号),其余三个情况也可以不使用HEAD,使commit id
两种方法取到该版本号:
只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊
使用git reflog查看命令历史找到该版本号
git checkout -- xxx
xxx可以是“.”也可以是指定文件名,此操作其实就是丢弃对工作区的修改
git checkout -- xxx
xxx可以是“.”也可以是指定文件名,这种情况是git add后又做了修改,想要回退到add
git reset HEAD xxx
xxx可以是“.”也可以是指定文件名,此时可以使用git checkout丢弃对工作区的修改
git reset --hard HEAD^
git rm xxx
xxx是文件名,命令git rm
用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
rm xxx
xxx是文件名,只是删除本地
接下来有两个选择:
确实要从版本库中删除该文件:git rm xxx -> git commit
删错了恢复到最新版本:git checkout -- xxx
git reflog
git remote add origin xxx
xxx是远程仓库地址
标签:remote 多次 添加 版本 git add 使用 reset 远程仓库 本地仓库
原文地址:https://www.cnblogs.com/kunmomo/p/11359478.html