git add后,还未commit,如何撤销?
git status命令输出的提示中,有答案。
其中stage就是暂存,unstage就是未暂存(暂存指的是本地做了git操作,但仍未提交即commit的情况)。
untracked(跟unstaged类似)、staged、commit、push,是git提交遇到的四个阶段(这一句属于自己理解)。
(use "git reset HEAD <file>..." to unstage)
#这句话,就是把<file>恢复至HEAD版本。HEAD版本号就是当前git已经commit的最新版本号。
实例演示(工具版本:windows git-bash):
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
nothing to commit, working tree clean
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ touch 1
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
1
nothing added to commit but untracked files present (use "git add" to track)
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ git add 1
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: 1
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ git reset HEAD 1
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
1
nothing added to commit but untracked files present (use "git add" to track)
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ rm 1
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$ git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
nothing to commit, working tree clean
Administrator@AFAAW-704030720 MINGW64 /d/EDA-tools/emacs/emacs-25.1/.emacs.d (develop)
$
git branch分支操作
- git clone 指定分支。默认是master分支
git clone https://github.com/syl20bnr/spacemacs.git -b develop - 检查当前的git分支情况
git branch -a
git commit提交后,如何撤销?
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard[慎重操作,会把代码删除的]:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
git help
windows下是
git –help
git branch -h
git status -h
其它git命令,都是类似的。
git ignore忽略所有文件,只保留某些后缀名的文件。
项目目录里,增加一个.gitignore文件。
#exclude all files and dirs
*
#except dirs
!*/
#except files
!.gitignore
!*.sv
!*.svh
git pull和push
与远程服务端进行交互的命令。
其它都是本地命令?!
- 本地做的改动,都上传至服务器
git pull - 从服务器里下载
git push