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

  1. 修改后 未add(添加到暂存区) 需要撤销修改时:
    git checkout -- myfile.txt 或 手动删除工作区修改
    工作区 : clean  暂存区: clean
    
  2. 修改后 add了(未commit) 再次修改文件 要撤销第二次修改时:
    git checkout -- myfile.txt (将暂存区恢复到工作区)
    暂存区有第一次的修改需要commit
    
  3. 修改后 add了(未commit),需要撤销修改时:
    git reset HEAD myfile.txt (将暂存区修改删除)
    此时工作区的修改还未撤销
    git checkout -- myfile.txt (撤销工作区修改)
    
  4. 修改后 add并commit了,需要撤销修改时:
    git reset --hard HEAD^  (版本回退)
    

删除文件:

1.使用rm删除本地文件

2.此时,如果你特么的后悔了,可以使用git checkout – myfile.txt

3.如果你rm本地文件了,并且也git rm,那么,你完啦!直接就删除了。

4.不过,你可以使用版本回退来,撤销,也就是使用git reset –hard numid这种方式来回退版本,达到撤销操作的目的。