命令 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名(昵称) |
git config --global user.email 邮箱 | 设置用户签名(邮箱) |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m "日志信息" 文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭 |
随便在一个地方右击鼠标,打开 Git 的命令行界面。
git config --global user.name 用户名
git config --global user.email 邮箱
签名的作用是为了区分不同操作者的身份。
用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
注意:Git 首次安装必须设置用户签名,否则无法提交代码。
在 Windows 用户目录下的 .gitconfig 文件中,可以查看已设置的用户签名信息
注意:这里设置的用户签名,和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。
文件夹名称可以是任意的。
进入新建的文件夹,在空白处右击,在该文件夹下打开 Git 的命令行界面。
执行本地库初始化命令后,该文件夹下会多了一个名称是 .git 的子文件夹(默认是隐藏状态),这就是刚创建的一个空的 Git 本地库。
git init
git status
状态信息说明如下:
On branch master : 目前在 master (默认)分支上。
No commits yet :还没提交过任何内容到本地库。
nothing to commit : 现在没有什么可以提交到本地库的,因为工作区没有任何文件。
在 .git 的父文件夹中(即工作区),添加一个文件。
git status
状态信息说明如下:
Untracked files : 未被追踪的文件,本例为 hello.txt 。
nothing added to commit but untracked files present :除了未被追踪的文件,现在没有什么可以提交到本地库的。
git add 未被追踪的文件名
注意:只使用“git add”,不添加未被追踪的文件名,会将所有未被追踪的文件都添加到暂存区。
git status
状态信息说明如下:
Changes to be committed :要提交的更改,本例为 hello.txt 这个新文件。
注意:如果不想将暂存区中的内容提交到本地库形成历史版本,可以使用“git rm --cached 文件名”命令将暂存区追踪的内容删除(工作区的内容不受影响)。
git commit -m "日志信息" 文件名
提示信息说明如下:
[master (root-commit) 624e314] :一旦提交就会形成不能删除的历史版本,624e314 为本例提交到本地库的(精简)版本号。
1 file changed, 1 insertion(+) :一个文件有改变,插入了一行。
create mode 100644 hello.txt :100表示文件类型为常规文件,644表示具体的文件权限。
git status
状态信息说明如下:
nothing to commit, working tree clean :工作区的内容和本地库最新版本的内容一致,现在没有什么可以提交到本地库的。
git status
状态信息说明如下:
Changes not staged for commit :未暂存提交的更改。
git add 未被追踪的文件名
注意:只使用“git add”,不添加未被追踪的文件名,会将所有未被追踪的文件都添加到暂存区。
git commit -m "日志信息" 文件名
提示信息说明如下:
1 file changed, 1 insertion(+), 1 deletion(-) :一个文件有改变,修改了一行(旧行删除,新行插入)。
git status
git status
git add 未被追踪的文件名
git status
git commit -m "日志信息" 文件名
提示信息说明如下:
1 file changed, 1 deletion(-) :一个文件有改变,删除了一行(因为文件内容只有一行)。
git status
注意:因为我不小心做了多次版本穿梭操作,所以为了更好的演示效果,我重做了上述的操作,因此下文的版本号和上文的会不一样。
git reflog
git log
如图所示,详细的历史版本信息会展示完整的版本号和用户签名。
git reset --hard 版本号
注意:版本号可以使用完整的,也可以使用精简的(前提是精简的版本号没有重复)。
如图所示,穿梭到第二次提交的版本后,被删除的文件在工作区恢复了,文件内容和第二次提交时的一致。
git reflog