Git常用命令
常用命令:
1.git clone url//将url上的项目克隆到本地
2.git init //通过git init命令把这个目录变成Git可以管理的仓库
3.git status//检测当前的状态
4.git add 文件名//建立跟踪
5.git status//再次检测当前状态(可以使用git reset 文件名,使得刚刚执行的git add 文件名 撤销)
6.$ git commit -m “add distributed”//表示确认提交,提交的过程中,-m后面写提交说明,如果没-m,那么会vim自动打开,会让你输入提交的说明(和github中提交前填写的说明是一个意思)。
7.git diff //看具体修改了什么内容(具体代码修改的是哪部分)
帮助理解:
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
注意:上面只是本地做好版本提交,并没有放到如github的仓库中。
8.git push//将内容提交到github库
版本回退:
1.git log(–pretty=oneline)//查看修改的各个版本,如果加上括号里的,则会显示简略的信息
2.==git reset –hard HEAD^==//如果回退最近的用==HEAD^==,次近的==HEAD^^==…以此类推。过多的时候(比如100个)可以用HEAD~100。
3.git reset –hard numid //这里打numid可以通过之前的git log查看到,如果想在执行来上面的2后,撤销2,则需要用到这。当前bash窗口不能关,否则看不到numid了。
当然,如果不小心关了当前的窗口,又想撤销2,那怎么办呢?可以使用git reflog查看命令历史,以便确定要回到未来的哪个版本。
撤销修改:
对于文件 myfile.txt
- 修改后 未add(添加到暂存区) 需要撤销修改时:
git checkout -- myfile.txt 或 手动删除工作区修改 工作区 : clean 暂存区: clean
- 修改后 add了(未commit) 再次修改文件 要撤销第二次修改时:
git checkout -- myfile.txt (将暂存区恢复到工作区) 暂存区有第一次的修改需要commit
- 修改后 add了(未commit),需要撤销修改时:
git reset HEAD myfile.txt (将暂存区修改删除) 此时工作区的修改还未撤销 git checkout -- myfile.txt (撤销工作区修改)
- 修改后 add并commit了,需要撤销修改时:
git reset --hard HEAD^ (版本回退)
删除文件:
1.使用rm删除本地文件
2.此时,如果你特么的后悔了,可以使用git checkout – myfile.txt
3.如果你rm本地文件了,并且也git rm,那么,你完啦!直接就删除了。
4.不过,你可以使用版本回退来,撤销,也就是使用git reset –hard numid这种方式来回退版本,达到撤销操作的目的。