Git使用手册
0、前言
自用的Git使用手册。不适合Git入门,可以用于Git速查和复习。持续更新 …
1、创建Git版本库
在项目目录下:
git init
提示Initialized empty Git repository in xxx
即表示成功创建一个Git repository(仓库)。初始化repository时不会自动track(跟踪)项目中的已有文件。
此时,打开项目目录,可以发现一个.git
目录,记录git初始化信息和之后的版本信息,修改它可能导致版本丢失。
2、添加文件到暂存区
使用git add
命令将文件添加到暂存区中。实际使用中,可能添加单个、多个、某些、所有文件,可通过参数来实现。
-
添加指定文件到暂存区。
git add
后面跟文件名,支持单个或多个文件,适用于你修改了较少文件且记得每个文件名的时候,注意,即使文件被删除了,你也要add被删除的文件,这样暂存区才会记录它给删除了。git add file1.txt file2.txt
可以多次使用
git add
来在不同时间添加不同文件,如上面可写成git add file1.txt git add file2.txt
-
添加所有文件。有时候,我们不清楚哪些被修改过了,那直接添加所有的文件最简单不过。
git add -A # all,添加全部被修改过的文件
它等价于
git add .
和git add *
。 -
添加某些文件。如果你想添加某些文件,一一列出文件名比较繁琐,可以使用通配符。
git add *.txt #添加所有后缀为.txt的文件
-
添加某个文件夹下的文件。如果add后的文件名是一个文件夹(
/
可有可无),它会自动添加该文件夹下的所有文件。git add dirname
-
更新文件。“更新”一词是git对已经跟踪的文件而言,所有它不会添加untracked(未跟踪文件)的文件,即你新增的文件。
git add -u
值得一提,你可能错误添加了某个你不想添加的文件,可以使用git reset HEAD filename
达到加其从暂存区删除的效果。
3、提交到仓库
使用git commit
命令将暂存区的文件提交到版本库,同时生成一个版本。
-m
参数用于指定commit信息,是必须的,而且不能为空,如果漏了,git会自动打开文本编辑器要求输入。如果实在不想指定commit信息,可以使用git commit --allow-empty -m ""
参数。这???还是-m "."
省事。
-
经常地,会提交暂存区添加的文件到版本库:
git commit -m "message"
-
可以直接把工作区的文件直接提交到版本库:
git commit <filename> -m "message"
该命令不会连同暂存区的文件一起commit。
-
如果想把上版本之后的修改全部commit,可以使用:
git commit -am "add all files from working tree"
省去
git add .
。当然上面用git commit . -m "message"
也是可以。
一般来说,commit提交都会生成新的版本。如果某次提交后,发现add
时漏了一个文件,或者文件有小差错,此时不想新增一个版本,而是对最近commit的版本的补充修改,可以使用--amend<