git 常用命令 mv rm checkout revert reset

关于上节讲的git add 时需要添加注释信息,也可以在git commit时再添加

[email protected] MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git add UI.js

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git commit -m "添加UI.js"
[master 358cdac] 添加UI.js
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 UI.js

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
nothing to commit, working tree clean

PS:关于注释信息, 因为一个项目往往由多个人协作完成,所以文件的提交和修改需要在注释信息里写清楚,否则会影响到项目的展开。

git log 命令查看commit的记录:

$ git log
commit 358cdace04c0eed4e4fab58a20070f5a7d01bb98
Author: LaoNiNi <laonivv@163.com>
Date:   Tue May 30 11:03:37 2017 +0800

    添加UI.js

commit 04c94a894c0895e6565a02b9f9221b51e3ca7bf5
Author: LaoNiNi <laonivv@163.com>
Date:   Tue May 30 10:44:49 2017 +0800

    添加一个文件index.html

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git log --oneline
358cdac 添加UI.js
04c94a8 添加一个文件index.html

使用git mv 【old_filename】 【new_filename】修改的是暂存区的文件,不是工作区的,在工作区的文件可以直接用mv命令

$ ls
bb.css  cc.css  index.html  UI.js

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git add cc.css

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   cc.css

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git mv cc.css dd.css

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   dd.css

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git commit -m "测试git mv"
[master 0f65134] 测试git mv
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 dd.css

laoni@DESKTOP-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
nothing to commit, working tree clean

当已经添加到暂存区的文件,如果对应的工作区的文件被rm删除,有多种处理方法:1、在工作区创建个同名的文件,然后add到暂存区。2、使用 git rm 删除暂存区的这个文件。3、使用 git checkout恢复之前删除的文件(类似回滚).

$ vim abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ ls
abc  bb.css  dd.css  index.html  UI.js

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ cat abc
fsdfsdfsdf

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        abc

nothing added to commit but untracked files present (use "git add" to track)

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git add abc
warning: LF will be replaced by CRLF in abc.
The file will have its original line endings in your working directory.

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ rm abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   abc

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$

例子

$ git checkout -- abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ ls
abc  bb.css  dd.css  index.html  UI.js

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ cat abc
fsdfsdfsdf

git checkout --

补充:使用git rm删除暂存区的文件时,git会提示

(use --cached to keep the file, or -f to force removal)

--cached加上,只会删除暂存区的文件,本地文件不删除。-f则暂存区和本地都删除。

git rm也能删除分支上的文件(脱离版本库),删除过后可以在git status里查看到暂存区有这个被删除的文件,需要git commit后,文件就被删除了,使用git rm 时可以加上--cached,保留本地文件。

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git commit abc -m "commit abc"
[master 6d3b5d2] commit abc
 1 file changed, 1 insertion(+)
 create mode 100644 abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
nothing to commit, working tree clean

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git rm abc
rm ‘abc‘

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted:    abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git commit -m "删除分支上的abc"
[master 180917b] 删除分支上的abc
 1 file changed, 1 deletion(-)
 delete mode 100644 abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git status
On branch master
nothing to commit, working tree clean

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$

git rm 分支上的文件

使用git revert HEAD 可以从当前版本撤销返回到历史版本,通过git log查看历史版本,执行git revert HEAD默认返回到上一个版本,执行git revert HEAD^^ 返回到前两个版本,执行git revert HEAD~3 返回到前三个历史版本。

$ git revert HEAD
[master 664ed39] Revert "删除分支上的abc"
 1 file changed, 1 insertion(+)
 create mode 100644 abc

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ ls
abc  bb.css  dd.css  index.html  UI.js

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ cat abc
fsdfsdfsdf

git revert HEAD

git revert HEAD命令的提交可以在提交日志里查到,而使用git reset HEAD命令在git log 里查询不到,所以git reset的执行有一定的危险(执行后不能恢复),但git reset只是把提交到分支的回撤到暂存区而不会删除文件。使用mixed参数,git reset HEAD --mixed 那么分支的文件就不是回撤到暂存区了,而是返回到工作区。使用hard参数,git reset HEAD --hard 就是硬重置,回撤的文件里在工作区也早不到了,所以不要轻易使用硬重置,可以使用软重置。HEAD(指针)可以用版本号来替代。

[email protected] MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git log --oneline
664ed39 Revert "删除分支上的abc"
180917b 删除分支上的abc
6d3b5d2 commit abc
0f65134 测试git mv
822f28b 测试mv命令
358cdac 添加UI.js
04c94a8 添加一个文件index.html

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git reset 358cdac

[email protected]-TPPLHIB MINGW64 /c/laoni/PycharmProjects/github_test (master)
$ git log --oneline
358cdac 添加UI.js
04c94a8 添加一个文件index.html
时间: 2024-08-06 04:28:12

git 常用命令 mv rm checkout revert reset的相关文章

git revert 后悔了 还原修改前的版本 + git 常用命令

昨天手残 然后在GitHub for windows 上点了revert 然后就给重置了 更手残的是又给同步了 .  但是 GitHub 会保留之前的版本 . 只要删掉本次修改就可. 解决方案:  gitshell ->> git revert HEAD 还原已经提交的修改此次操作之前和之后的commit和history都会保留,并且把这次撤销作为一次最新的提交    git revert HEAD                  撤销前一次 commit    git revert HEA

【前端小小白的学习之路】Git常用命令整理

Git 常用命令清单. 几个专用名词的译名如下: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码历史 $ git clone [url] 二.配置 Git的设置文件为.gitconfig,它可以在用户主目录下(全局

Git 常用命令速查

一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin [email protected]1.119:ndshow git push origin master 将文件给推到服务器上 git remote show or

【转载】Git 常用命令整理

Git 常用命令整理 博客分类: Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux 初始化配置 C代码   #配置使用git仓库的人员姓名 git config --global user.name "Your Name Comes Here" #配置使用git仓库的人员email git config --global user.email [email protected] #配置到缓存 默认15分钟 git config

Git 常用命令速查表(图文+表格)

一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git remote add origin [email protected]:ndshowgit push origin master 将文件给推到服务器上 git remote show origin 显示远程

(ZZ) git 常用命令

创建版本库 $ git clone <url> #克隆远程版本库 $ git init #初始化本地版本库 修改和提交 $ git status #查看状态 $ git diff #查看变更内容 $ git add . #跟踪所有改动过的文件 $ git add <file> #跟踪指定的文件 $ git mv <old> <new> #文件改名 $ git rm <file> #删除文件 $ git rm --cached <file&g

Git 常用命令速查表(三)

转自:http://blog.csdn.net/ithomer/article/details/7529841 本文将对Git 命令,做一下全面而系统的简短总结,整理成简洁.明了的图表结构,方便查询 一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释 git rem

Git常用命令解说

1. Git概念  1.1. Git库中由三部分组成         Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制..git目录位于工作目录内.  1) 工作目录:用户本地的目录:  2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Git 称该区域为索引.  3) 仓库:将索引通过commit命令提交至仓库中,每一次提交都意味着版本在进行一次

总结自己的Git常用命令

总结自己的Git常用命令 使用git也有一段时间了,把自己常用的命令用自己的描述记录起来,方便自己备忘也方便其他人参考. 目录: 最基本的命令: git clone 拷贝并跟踪远程的master分支.跟踪的好处是以后可以直接通过pull和push命令来提交或者获取远程最新的代码,而不需要指定远程分支名字. git submodule init git submodule update 参考示意图 HEAD 指向当前的commit 对象(可以想象为当前分支的别名),同时也用来表明我们在哪个bran