前書き
1. DevOps:開発と運用の組み合わせ
DevOpsは、開発(ソフトウェアエンジニアリング)、技術運用、品質保証(QA)の交差点と見なすことができます。
- 変更の範囲を縮小する
- リリース調整を強化する
- オートメーション
- より小さく、より頻繁な変更-リスクが少ないことを意味します
- 開発者が本番環境をより細かく制御できるようにする
- インフラストラクチャのアプリケーション中心の理解
- 明確に定義されたプロセス
- 可能な限り自動化する
- 開発と運用の間のコラボレーションを促進します
2.git:分散バージョン管理システムは、現在最も人気のあるバージョン管理ソフトウェアです。
LinusTowaz
3.パブリックコードウェアハウス:
- 海外のgithub.com
- gitee.com国内コードクラウド
4.バージョン管理システムの分類:
- 一元化:コードは中央サーバーに保存され、開発者のクライアントは独自のコードの一部しか持っていません。中央サーバーに問題があると、データが失われます。従来のバージョン管理システム:CVS、SVN
- 分散:各サーバーにはすべてのコードがあり、サーバーがクラッシュした場合は、他のサーバーからコピーするだけです。ギット
Gitをインストールする
Gitとは何ですか?
Gitはプログラマーにとって見知らぬ人ではありません。GitのフルネームはDistributedVersion ControlSystemです。
Gitは分散展開をサポートしており、非常に小さなプロジェクトから非常に大きなプロジェクトまで、バージョン管理を効果的かつ迅速に処理できます。
最も簡単な説明は、gitでリポジトリを構築するとき(リポジトリはウェアハウスとも呼ばれ、ディレクトリとして理解できます)、ファイルを変更する必要がある場合は、元のファイルと簡単な手順を送信できます。後でドキュメントを復元します。
1.Gitをインストールします
[root@git ~]# yum -y install git
2.名前とメールアドレスを宣言します
[root@git ~]# git config --global user.name "wangwu"
[root@git ~]# git config --global user.email "[email protected]"
3.バージョンディレクトリを作成します
[root@git ~]# mkdir /data
[root@git ~]# cd /data/
[root@git data]# git init // 初始化当前目录为版本库
初始化空的 Git 版本库于 /data/.git/
[root@git data]# ls -a
. .. .git
**。git **ディレクトリを自動的に生成します。
コマンド | 説明 |
---|---|
枝 | ブランチディレクトリ |
設定 | ディレクトリ固有の構成オプションを定義する |
説明 | gitwebでのみ使用 |
頭 | 現在のブランチを指定します |
フック | gitフックファイル |
情報 | グローバル除外ファイルを含める(除外) |
オブジェクト | すべてのデータコンテンツを保存する |
refs | ポインタファイル |
インデックス | 一時ファイル |
Gitの基本的なコマンド
1.ステージングエリアにアップロードします
コマンド | 説明 |
---|---|
git add readme.txt | 単一ファイルのアップロード |
gitadd。 | 現在のディレクトリにあるすべてのファイルをアップロードします |
gitステータス | ステージングエリアを表示 |
git rm --cached readme.txt | ステージング領域からファイルを取り消します |
git checkout – readme.txt | 一時ストレージ領域に送信されましたが、後でコンテンツを変更する際にエラーが発生しました。最後の一時ストレージ領域のバージョンに戻りたいです。 |
[root@git data]# vim readme.txt
111111111
[root@git data]# git add readme.txt
[root@git data]# git status
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
# (使用 "git rm --cached <file>..." 撤出暂存区)
#
# 新文件: readme.txt
#
[root@git data]# git rm --cached readme.txt
rm 'readme.txt'
[root@git data]# vim test.txt
11111111
[root@git data]# git add test.txt
[root@git data]# git status
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
# (使用 "git rm --cached <file>..." 撤出暂存区)
#
# 新文件: test.txt
#
# 未跟踪的文件:
# (使用 "git add <file>..." 以包含要提交的内容)
#
# readme.txt
[root@git data]# vim test.txt
222222222222
11111111
[root@git data]# git checkout -- test.txt
[root@git data]# cat test.txt
11111111
2.リポジトリにアップロードします
[root@git data]# git add readme.txt
[root@git data]# git status
# 位于分支 master
# 要提交的变更:
# (使用 "git reset HEAD <file>..." 撤出暂存区)
#
# 新文件: readme.txt
#
[root@git data]# git commit -m "add readme.txt file" //上传到版本库
[master 64e4cd2] add readme.txt file
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
[root@git data]# git status
# 位于分支 master
无文件要提交,干净的工作区
3. readme.txtの内容を変更し、diffコマンドを使用して類似点と相違点を表示します
[root@git data]# vim readme.txt
111111111
222222222
333333333
[root@git data]# git diff readme.txt
diff --git a/readme.txt b/readme.txt
index bb81b3c..0f4b9be 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,3 @@
111111111
+222222222
+333333333
(1)提出したい場合
[root@git data]# git add readme.txt
[root@git data]# git commit -m "add readme.txt file "
[master d8184e2] add readme.txt file
1 file changed, 2 insertions(+)
4.バージョンのステータスを確認し、ワークスペースとバージョンライブラリの類似点と相違点を比較します
[root@git data]# git status
5.履歴を表示
[root@git data]# git log //显示详细信息
commit d8184e24bdc83e012b607f74eeb5ad94c55dc250
Author: wangwu <[email protected]>
Date: Thu Jul 16 19:14:17 2020 +0800
add readme1.txt file
commit 3caeb4233a33cfe99fb3111c8f130608a4bc0f61
Author: wangwu <[email protected]>
Date: Thu Jul 16 19:11:26 2020 +0800
add readme2.txt file
commit ef381c4ae25a1cc46bbd2ca30ec29cc6978b2ba9
Author: wangwu <[email protected]>
Date: Thu Jul 16 19:09:23 2020 +0800
add readme3.txt file
[root@git data]# git log --oneline //显示摘要信息
d8184e2 add readme1.txt file
3caeb42 add readme2.txt file
ef381c4 add readme3.txt file
6.バージョンのロールバック
コマンド 説明 HEAD ^ 前のバージョンにロールバックします HEAD ^^ 前のバージョンにロールバックします HEAD〜10 最後の10バージョンにロールバックします gitログのバージョン番号(最初の7つで十分です) バージョン番号でそのバージョンにロールバックする
[root@git data]# vim readme.txt //更改内容
111111111
222222222
333333333
444444444
555555555
666666666
[root@git data]# git reset --hard HEAD^ // 回滚到上个版本
HEAD 现在位于 64e4cd2 add readme.txt file
[root@git data]# cat readme.txt
111111111
[root@git data]# vim readme.txt
111111
222222
333333
444444
[root@git data]# git log --oneline //查看版本号
3caeb42 add readme.txt file
ef381c4 add readme.txt file
[root@git data]# git reset --hard 3caeb42 //按版本号回滚
HEAD 现在位于 3caeb42 add readme.txt file
[root@git data]# cat readme.txt
111111
222222
7.コマンドログにスクロールして戻ります
[root@git data]# git reflog
3caeb42 HEAD@{0}: commit: add readme.txt file
ef381c4 HEAD@{1}: reset: moving to ef381c4
64e4cd2 HEAD@{2}: reset: moving to HEAD^
d8184e2 HEAD@{3}: commit: add readme.txt file
64e4cd2 HEAD@{4}: commit: add readme.txt file
ef381c4 HEAD@{5}: checkout: moving from master to master
ef381c4 HEAD@{6}: commit (initial): add readme.txt file
8.gitconfigの一般的な構成オプション
(1)設定ファイルを編集する
git config -e
[root@git data]# git config --local -e //编辑仓库级别配置文件
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
~
[root@git data]# git config --global -e //编辑用户级别配置文件
[user]
name = wangwu
email = [email protected]
[root@git data]# git config --system -e //编辑系统级别配置文件
(2)構成項目を追加する
git config
[root@git data]# git config --global user.email “[email protected]”
[root@git data]# git config --global user.name “wangwu”
(3)エイリアスを追加する
git config
[root@git data]# git config --global -e
[user]
name = wangwu
email = [email protected]
[alias]
st = status
co = checkout
br = branch
mg = merge
ci = commit
md = commit --amend
dt = difftool
mt = mergetool
last = log -1 HEAD
Gitブランチ
メインコードライブラリとは異なり、新しい関数またはモジュール用に作成されたブランチライブラリには、ユーザーのみがアクセスでき、
変更後にマージされます。通常、バージョンの更新やパッチの追加に使用されます。
1.ブランチを表示します
[root@git data]# git branch
* master
2.ブランチを作成し、ブランチを切り替えます
[root@git data]# git branch ops
[root@git data]# git checkout ops
切换到分支 'ops'
3.ブランチをマージします
(1)新しいブランチを作成して切り替えます
[root@git data]# git branch -b dev
(2)マスターに切り替えます
[root@git data]# git checkout master
切换到分支 'master'
(3)ブランチのマージ
[root@git data]# git merge dev
Already up-to-date.
[root@git data]# git branch
dev
* master
ops
4.ブランチを削除します
[root@git data]# git branch -d dev
已删除分支 dev(曾为 3caeb42)。
[root@git data]# git branch
* master
ops