git 简单命令总结

时间:2022-07-15 20:22:16

一、本地仓库操作

1、构建本地仓库

  • 初始化本地仓库,生成.git隐藏文件 
    $ git init
  • 在文件夹内添加readme.md文件,执行如下命令,添加到本地仓库暂存区 
    $ git add readme.md
  • 提交到本地仓库 
    $ git commit -m “add readme.md”

2、添加、提交

  • 修改readme.md文件,查看本地代码的状态(与本地仓库对比) 
    $ git status
    On branch master
    Changes not staged for commit:
     (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
modified: readme.md
      no changes added to commit (use "git add" and/or "git commit -a")
  • 查看具体差异 
    $ git diff
    diff --git a/readme.md b/readme.md
    index d1d06ad..a3e18d9 100644
    --- a/readme.md
    +++ b/readme.md
    @@ -1 +1 @@
    -1111
    \ No newline at end of file
    +11112222
    \ No newline at end of file
  • 将本地修改添加到本地仓库 
    $ git add .
  • 查看状态 
    $ git status
    On branch master
    Changes to be committed:
     (use "git reset HEAD <file>..." to unstage)    modified: readme.md
  • 提交修改到本地仓库 
    $ git commit -m “modify readme.md”
    [master 3350af9] modify readme.md
     1 file changed, 1 insertion(+)
  • 再次查看状态,发现已经与本地仓库相同了 
    $ git status
    On branch master
    nothing to commit, working tree clean
  • 删除文件

    第一种,实际上删除也是一种修改,所以可以删除本地文件,然后用上面的add+commit的方式 
    第二种 
    $ git rm readme.md 
    $ git commit -m “delete readme.md”

3.查看日志,回退

  • 查看历史日志
  • $ git log 命令或者 $ git log --pretty=oneline
    27943fdf37d8767bdc87fb496f7c2f006a23b953 (HEAD -> master) modify readme.md
    3350af9b900fd0d1bef70daf3742dc65c9ca4c98 modify readme.md
    ff61e65f4a1c4fc70fd4f313c065ec29c6cf647e add readme.md
  • 回退到上一个版本:HEAD代表当前版本,HEAD^是上一个版本,以此类推;也可以用 commit id 如”ff61e65f4a1c4fc70fd4f313c065ec29c6cf647e”的前几位(能代表唯一性)代替。 
    $ git reset –hard HEAD^
    HEAD is now at 3350af9 modify readme.md
  • 查看文件状态,发现已经回退到上一个版本 
    $ cat readme.md
    1111
  • 再次查看log,发现上一个版本的log已经没了 
    $ git log –pretty=oneline
    3350af9b900fd0d1bef70daf3742dc65c9ca4c98 modify readme.md
    ff61e65f4a1c4fc70fd4f313c065ec29c6cf647e add readme.md
  • 根据commit id再回退到原来的版本,发现修改又回来了 
    $ git reset –hard 27943 
    $ cat readme.md
    11112222

    2323232
  • 查看操作记录,根据操作记录就可以回退到任意版本了 
    $ git reflog
    27943fd HEAD@{0}: reset: moving to 27943
    3350af9 HEAD@{1}: reset: moving to HEAD^
    27943fd HEAD@{2}: commit: modify readme.md
    3350af9 HEAD@{3}: commit: modify readme.md
    ff61e65 HEAD@{4}: commit (initial): add readme.md
  • 将暂存区的修改撤销掉

首先对readme.md进行修改,添加到暂存区 
$ git add readme.md 
$ git status 
$ git reset HEAD readme.md

  • 丢弃工作区的修改 
    $ git checkout – readme.md

二、远程仓库

1、将本地仓库添加到远程仓库

  • 查看本地remote origin是否存在(origin是对远程库的别称) 
    $ git remote -v

  • 如果不存在,则添加 
    $ git remote add origin http://192.168.1.222/wei/Test.git

  • 关联远程分支 
    $ git branch –set-upstream master origin/master

  • 接下来,就可以直接向已有的远程仓库提交代码啦 
    $ git add . 
    $ git commit -m “msg” 
    $ git push

  • 更新origin 
    $ git remote rm origin 
    $ git remote add origin 新地址.git 
    $ git branch –set-upstream master origin/master

  • 查看origin配置,还可以通过查看config文件来查看origin的配置 
    $ vi .git/config

2、从远程仓库克隆到本地仓库