目次
序文
1. gitとは何ですか?
- オープンソース、最先端の分散バージョン制御システム、なし
- 非常に小さいものから非常に大きいものまで、プロジェクトバージョン管理の効率的かつ高速な処理のために。
2.バージョン管理システムとは何ですか?
- バージョンコントロールは、特定のリビジョンの将来のレビューのために、1つまたは複数のファイルのコンテンツの変更を記録するシステムです。
3.分散バージョン制御システムとは何ですか?
- 分散バージョン制御システム(DVCS)。Git、Mercurial、Bazaar、Darcsなどのこのタイプのシステムでは、クライアントはファイルスナップショットの最新バージョンを抽出するだけでなく、コードリポジトリを完全にミラーリングします。降りてくる。このようにして、共同作業に使用されたサーバーは、ミラーリングされたローカルウェアハウスを使用して後で復元できます。すべてのクローン作成操作は、実際にはコードリポジトリの完全なバックアップであるためです。
4.Git機能
- データベース(コードとバージョン情報を含む)をサーバーから単一のマシンにクローンします
- 自分のマシンでブランチを作成し、コードを変更します
- 単一のマシンで自分で作成したブランチにコードを送信する
- 単一のマシンでブランチをマージする
- 新しいブランチを作成し、サーバー上のコードの最新バージョンをフェッチして、それを独自のメインブランチとマージします
- パッチを生成し、パッチをメインの開発者に送信します
- メイン開発者からのフィードバックを見て、メイン開発者が2人の一般開発者間の競合(両者の協力により解決できる競合)を見つけた場合、最初に競合を解決するように求められ、次に一方が送信します。メインの開発者が自分で解決できる場合、または競合がない場合は、合格するだけです
- 開発者間の競合解決の一般的な方法である開発者は、pullコマンドを使用して競合を解決し、競合が解決された後にメイン開発者にパッチを送信できます。
ローカルGitコードウェアハウスの構築と使用
1)gitをインストールします
[root@hya ~]# yum -y install git
2)ローカルコードウェアハウスを作成します
[root@hya ~]# mkdir /mydata #用这个目录作为代码仓库
[root@hya ~]# cd /mydata/
[root@hya mydata]# git init #生成代码仓库的数据文件
初始化空的 Git 版本库于 /mydata/.git/
3)ユーザー情報を追加する
[root@hya mydata]# git config --global user.name hya
[root@hya mydata]# git config --global user.email [email protected]
[root@hya mydata]# cat ~/.gitconfig
[user]
name = hya
email = [email protected]
4)3つのテストファイルを作成します
[root@hya mydata]# touch {1..3}.txt
[root@hya mydata]# echo "this is the first line" >> 1.txt
5)これら3つのファイルをgitリポジトリに追加します
[root@hya mydata]# git add ./*
[root@hya mydata]# git commit -m "v1:三个新文件" #在git中记录第一个版本
[master(根提交) 428a197] v1:三个新文件
3 files changed, 1 insertion(+)
create mode 100644 1.txt
create mode 100644 2.txt
create mode 100644 3.txt
6)バージョンレコードをgitで表示する
[root@hya mydata]# git log #此时只有一个版本
commit 428a197b5c1d5988f6a8496b92ecb33e6a093814
Author: hya <[email protected]>
Date: Wed Sep 30 09:12:26 2020 +0800
v1:三个新文件
##########
[root@hya mydata]# git status #查看仓库文件状态
# 位于分支 master
无文件要提交,干净的工作区
7)いくつかの変更操作を作成し、変更されたコードをコードベースに再度追加します
[root@hya mydata]# echo "this is the second line" >> 1.txt
[root@hya mydata]# touch 4.txt
[root@hya mydata]# git add ./*
[root@hya mydata]# git commit -m "v2:追加一行内容,并创建新文件"
[master 7ca425c] v2:追加一行内容,并创建新文件
2 files changed, 1 insertion(+)
create mode 100644 4.txt
8)バージョンレコードをgitで表示する
[root@hya mydata]# git log
commit 7ca425c4ebd68a923e50d3e2843fb46a496c78ad
Author: hya <[email protected]>
Date: Wed Sep 30 09:33:35 2020 +0800
v2:追加一行内容,并创建新文件 #第一个版本
commit 428a197b5c1d5988f6a8496b92ecb33e6a093814
Author: hya <[email protected]>
Date: Wed Sep 30 09:12:26 2020 +0800
v1:三个新文件 #第二个版本
9)1.txtを再度変更し、変更したコードをコードベースに再度追加します
[root@hya mydata]# echo "" > 1.txt
[root@hya mydata]# git add ./*
[root@hya mydata]# git commit -m "v3:清空1.txt"
[master 60b3b76] v3:清空1.txt
1 file changed, 1 insertion(+), 2 deletions(-)
######查看版本库中的内容
[root@hya mydata]# git log
commit 60b3b76249db80c782a434842763e4ce8943fcf2
Author: hya <[email protected]>
Date: Wed Sep 30 09:36:21 2020 +0800
v3:清空1.txt
commit 7ca425c4ebd68a923e50d3e2843fb46a496c78ad
Author: hya <[email protected]>
Date: Wed Sep 30 09:33:35 2020 +0800
v2:追加一行内容,并创建新文件
commit 428a197b5c1d5988f6a8496b92ecb33e6a093814
Author: hya <[email protected]>
Date: Wed Sep 30 09:12:26 2020 +0800
v1:三个新文件
10)過去のバージョンレコードを表示する
[root@hya mydata]# git reflog
60b3b76 HEAD@{0}: commit: v3:清空1.txt
7ca425c HEAD@{1}: commit: v2:追加一行内容,并创建新文件
428a197 HEAD@{2}: commit (initial): v1:三个新文件
11)v2バージョンを復元します
[root@hya mydata]# git reset --hard 7ca425c #指定恢复到id为7ca425c的版本中
HEAD 现在位于 7ca425c v2:追加一行内容,并创建新文件
12)検証
[root@hya mydata]# cat 1.txt #是第二版中的内容
this is the first line
this is the second line
総括する
gitツールは実際には非常に使いやすいです。最近、私はこのテクノロジーに再び精通しています。興味のある友人は「1つのキーと3つの接続」アクリジンを望んでいます。