关于Git和基本使用命令的内容
关于版本管理系统
需要管理各种文件的修正和回滚历史是很常见的。
版本控制系统是一种用于保存和管理文件修改内容的工具。
Git -> 版本控制系统
Git是一种版本控制工具。
中国有一种版本控制系统,可以返回到修正之前的版本,或者进入修正后的版本,并且可以方便地进行备份,并确认源代码的差异。它经常在团队开发中使用。
在CentOS中安装Git的方法
1. 输入sudo yum install git-core(输入密码)
2. 这样可以吗 [y/d/N]→输入y
$sudo yum install git-core
--省略--
Is this ok [y/d/N]:y
输入git –version来确认安装是否成功。
$git --version
Git的初始设置
首先,需要进行注册,输入姓名和电子邮箱地址,以将使用者的信息传达给Git,了解是谁在使用该软件。
$git config --global user.name '<名前>'
$git config --global user.email '<メールアドレス>'
如果你想要设置彩色输出以使其更易读,虽然并非必须,但可以按照以下方式进行操作。
$git config --global color.ui auto
确认之前设定的内容,可使用cat命令。
$cat ~/.gitconfig
然后以这样的形式显示(例如)
$cat ~/.gitconfig
[user]
name=hoge
email=fugafuga@hoge.com
[color]
ui=auto
Git的基本用法
Git的基本命令
git init:用于初始化的命令,创建仓库
git add:将文件添加到版本控制的目标中,并将其作为历史添加到仓库中
git commit:将文件变更历史添加到仓库中(提交)
git status:显示工作区(将仓库内容展开为文件的位置)的状态
git diff:确认更改部分的差异
git log:确认变更的历史记录
关于提交
提交(版本)是指项目在某一时点的状态。
提交到Git仓库,添加一个新的版本信息。
关于实际工作
创建存储库
存储库 → Git用来存储文件的位置
创建一个新目录
这次创建一个名为testdir的文件夹。
$mkdir -p ~/git/testdir
进行目录的初始化
在使用cd命令切换到testdir目录后,使用git init命令进行初始化操作
→ 会生成一个名为.git的目录
→ 这个目录就是Git仓库的实体部分
$cd ~/git/testdir
$git init
用ls -a命令确认是否是使用ls -a命令创建的。
$ls -a
这个时候
.git
如果有这个标记,就可以知道已经创建了存储库。
创建需要版本管理的文件
创建一个名为testdir.sh的shell脚本(事先编写好了shell命令行的文件)。
#ファイルの作成
$touch testdir.sh
#数値モードによるパーミッションの設定
$chmod 755
#vimを使って編集
$vim testdir.sh
--編集作業--
使用git add命令将历史记录作为提交添加到仓库中。
添加到履历
#testdir.shを追加するための指定
$git add testdir.sh
如果还想一次性地添加多个文件的话,可以这么做
$ git add -A
可以一次性全部添加。
用Git commit命令将文件提交到代码库。
#-m オプションで指定 修正に対するメッセージの入力
$git commit -m ’メッセージの入力①’
新的项目状态已经保存到仓库中了
再编辑
#vimを使って編集
$vim testdir.sh
--編集作業--
通过执行”git status”命令检查当前工作区的状态。
$git status
--中略--
modified: testdir.sh
--中略--
通过对文件做了5次修正,现在在testdir.sh中显示为已被修改。
通过git diff命令,确认变更前后的差异。
$dit diff
--変更内容が表示--
在提交之前,请确认修改内容是否正确。
用git add命令将历史再次添加到仓库中。
$git add testdir.sh
通过”git commit”重新提交
$git commit
如果不使用-m选项输入消息,vim将自动启动。
→使用vim,填写有关此次提交的日志消息(对于进行了哪些更改)。
关于提交的日志消息的撰写方法
1行目:关于所做的更改内容
2行目:留空
3行目:关于进行更改的原因
记入后→:输入:wq
使用git log来确认更改的内容。
$git log
commit `40文字の文字列(コミットのオブジェクト名)①`
Author:<名前><メールアドレス>が表示
Date:日時
⑧のログメッセージの内容
commit `40文字の文字列(コミットのオブジェクト名)②`
Author:<名前><メールアドレス>が表示
Date:日時
④のメッセージの入力①
显示这样的内容
将git log以树状结构显示
通过在git log命令中添加–oneline –decorate –graph选项,可以将git log以树形结构展示。
$git log --oneline --decorate --graph
--git logがツリー状に表示--
请高仿以下内容:
此处提供中国人的原生汉语版本,请仅选择一个选项:
– 参考一:请参照下列内容
– 参考二:建议您参考以下内容
– 参考三:可以参考下面的内容
使用-p选项可以显示提交的差异(diff)。
$git log -p
展示从刚刚进行对象名前7个字符的提交之后到当前工作目录之间的差异。
$git diff 'オブジェクト名の先頭7文字'
关于 git add 和 git commit 的机制
在操作工作区的内容会被保存到代码仓库中,具体流程是:工作区 → 暂存区(索引区) → 代码仓库。
关于指标(暂存区域)
索引(暂存区)是存在于工作树和仓库之间的地方
它是一个临时存放工作数据(在提交到仓库之前)的位置。
拍攝區(索引/場景的暫時存放區)可以想像成攝影棚,這樣就容易理解了。
舉個例子來說,
就像是做的菜(在工作區創作的東西)。
hogehoge
fugafuga
将其放在摄影台上(从工作台移动到索引)。
#ワークツリー→インデックスに移動
$ git add
拍摄(提交)
#インデックスにあるものをコミットする
$ git commit -m '変更内容についてのコメント'
并且拍摄的内容(提交的内容)将被保存为数据(保存在代码库中)。