目录
1 获取 Git 仓库
可以在一个文件夹下建立 Git 仓库。
1.1 在本地初始化仓库
$ git init
创建一个 .git
子目录,其中包含 Git 仓库的所有必须文件。
1.2 克隆现有仓库
$ git clone <url>
从指定 URL 拉取所有文件,创建本地同名仓库。
初次克隆仓库时,工作目录中的文件都属于已跟踪且未修改状态。
$ git clone <url> [<LocalRepoName>]
创建本地仓库,且命名为 LocalRepoName。
2 检查当前文件状态
$ git status
显示当前工作目录文件的跟踪状态、修改状态等,并显示当前所在分支。
$ git status -s
$ git status --short
以紧凑形式输出当前文件状态。
3 跟踪新文件
$ git add [<FileName> | <Directory>]
跟踪指定的文件或递归跟踪目录下的所有文件。
4 将已跟踪文件添加至暂存区
$ git add <FileName>
5 查看修改
5.1 查看未暂存的修改
$ git diff
比较工作目录中当前文件和暂存区快照之间的差异,即修改后还未暂存的部分。
5.2 查看已暂存的修改
$ git diff --cached
$ git diff --staged
比较暂存区快照和上次提交内容之间的差异,即已暂存的还未提交的内容。
6 提交修改
$ git commit
将暂存区的修改提交,且自动启动文本编辑器以输入说明信息。若说明信息为空,则放弃本次提交。
$ git commit -m <comments>
直接输入说明信息 commnents
,需用单引号或双引号括起来。
$ git commit -a
将所有以跟踪的文件暂存并提交。省略了 git add
命令。
7 移除文件
若直接删除工作区的文件,会导致暂存区与工作区不一致,因为 Git 仍会跟踪该文件。使用以下命令:
$ git rm <file>
可将工作区和暂存区的指定文件都删除,这样就不会再跟踪该文件。然后再提交即可。
若文件修改过且未提交(即快照的版本与暂存区或工作区不一致),则上述命令将报错。这是为了防止误删尚未添加到快照的数据。
若仍要强制删除,应使用:
$ git rm -f <file>
若想将文件从暂存区删除(即不再跟踪该文件),但希望保留在工作目录中,需使用 --cached
选项:
$ git rm --cached <file>
8 移动文件
$ git mv <OldFileName> <NewFileName>
将文件 OldFileName
改名为 NewFileName
。
9 查看提交历史
$ git log
列出所有提交的更新,包括 SHA-1 校验和、作者名字和电子邮件地址、提交时间以及提交说明。
10 撤销操作
$ git reset HEAD <file>
取消暂存文件 file
。
$ git checkout -- <file>
撤销工作区中对文件的修改。实际上是将暂存区的文件覆盖工作区的文件。