git init

作用:空文件初始化操作。

git clone

作用:克隆现有仓库(可以自定义仓库名称,可以不写)。

1
git clone [URLName] [RepoName]

git add

暂存操作

作用:开始追踪一个文件(相当于将文件放在Index里)。

运行git add之后又作修订的文件,需要再次运行使其被重新暂存起来。

1
git add [file]

取消暂存

运行以下命令可以取消暂存文件:

1
git reset HEAD [file]

想要撤销修改,将文件还原成上次提交的样子

由于这个操作相当于是用旧的版本覆盖新的版本,所以除非确实不想要这个文件的修改了,否则不要用这个命令。

1
git checkout --[file]

git status

作用:查看有哪些文件,处于什么状态。
(输出Changes to be committed 下面的是已暂存状态)

在命令后加上-s,可以查看简化后的指令

1
git status -s

文件前简化标识的意思:

  • ??新添加的未跟踪文件
  • A新添加到暂存区的文件
  • [M ]修改了并被放入暂存区
  • [ M]修改了但没被放入暂存区

git commit

提交

作用:形成快照,使HEAD指向Index里存的文件的版本。
也可以给提交加上注释行,帮你回顾此次提交的信息()

1
git commit -m "commit information"

注意先用git status看文件是不是都已经暂存起来了再运行提交命令行 git commit

也可以跳过git add,直接提交:
(这个命令自动把已经跟踪过的文件暂存起来一起提交)

1
git commit -a

撤销

提交完了才发现漏掉了几个文件没有添加或者提交信息不对,想要重新提交(这个命令会将暂存区中的文件提交)

1
git commit --amend

更详细一点,如果你运行以下命令,则最终只有一个提交(第二次提交将代替第一次提交结果)
1
2
3
git commit -m'initial commit'
git add forgotten-file
git commit --amend

git diff

查看尚未暂存的文件更新了哪些部分:

1
git diff

查看已暂存的将要添加到下次提交里的内容:
1
git diff --staged

git rm

作用:从暂存区移除想要删除的文件,然后提交。并且从下一次提交开始,该文件就不被纳入版本管理。

如果想要停止git对某文件的追踪,但不想从磁盘中删除该文件:

1
git rm --cached [file]

想要删除log/目录下所有扩展名为.log的文件:

1
git rm log/\*.log

想要删除所有以~结尾的文件:

1
git rm \*~

git mv

作用:重命名文件。

1
git mv [OldFileName] [NewFileName]

相当于运行了以下三条命令:
1
2
3
mv README.md README
git rm README.md
git add README

git log

作用:查看提交历史。

可以添加的后缀:

  • -p:显示每次提交内容的差异
  • -2:显示最近两次的提交
  • -stat:每次提交的简略统计信息
  • --pretty=oneline
    • pretty是以不同于默认格式的方式提交历史
    • online是把信息放在一行,也可以是shortfullfuller

参考文献:Git基础

咱就是说,今天突然想到张显宗了,就放一张好吧~
zry