今日は、Git ウェアハウス管理について 2 つの側面からお話しましょう。ウェアハウスを作成し、ウェアハウス内のファイルへの変更を追跡します。
Git リポジトリの取得
Git リポジトリを取得するには 2 つの方法があります:
ローカルの未使用のディレクトリを変更します。 初期化されたディレクトリはウェアハウス ディレクトリとして使用されます。
#リモート ホストから既存の Git プロジェクトのクローンを作成します。
以下は、これら 2 つの方法:
# mkdir learngit # cd learngit/ # git init Initialized empty Git repository in /root/learngit/.git
このようにして、ローカル倉庫が確立されます。次に、リポジトリのクローンをリモートで作成する方法を見てみましょう。
# mkdir learngit2 # cd learngit2 # git clone git@github.com:*****/blog.git learngit2
この手順は、リモートから Git リポジトリのクローンを作成し、ディレクトリを learngit2 に変更することを意味します。デフォルトでは、このパラメータを使用しない場合、ディレクトリ名は blog になります。
ウェアハウスのすべての更新を追跡する
まず、ファイルのステータスについて説明する必要があります。広い観点から見ると、ファイルには 2 つのステータスがあります。タイプ:
未追跡
追跡済み
追跡済みステータスは再び 未変更、変更済み、一時的 に分けられます。追跡されていないファイルは、リポジトリがファイルを追跡しないことを意味します。
以下では、これらのファイルのステータスを示します。
まず、プロジェクトディレクトリに新しいファイルを作成します
# touch README.md
次に、ファイルの状態を確認してみましょう。 git status はファイルのステータスを一覧表示することができ、ファイルが追加されていない場合はすべてを一覧表示することになります。
# git status README.md # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # README.md nothing added to commit but untracked files present (use "git add" to track)
ご覧のとおり、README.md のステータスは追跡されていません。次に、別のファイルを作成してステージング領域に追加し、ファイルのステータスを見てみましょう。
# cat > index.php <<eof > <?php > phpinfo(); > eof # git add index.php # git status index.php # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: index.php #
[コミットされる変更] にファイルが表示されている限り、そのファイルは一時的な状態にあることを意味します。次に、index.php ファイルを再度変更して、何が起こるかを確認します。
# git status index.php # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: index.php # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: index.php #
index.php ファイルが一時記憶域と非一時記憶域の両方に存在することがわかりましたか?皆さん注目してください!この状況は頻繁に発生します。
git add
このコマンドの機能は、新しいファイルを追跡し、変更されたファイルを一時記憶域に送信し、時刻をマージすることです。競合のあるファイルには、解決済みステータスがマークされます。
変更の表示
ワークスペースおよびステージング領域内のファイルへの変更を表示する方法。 git diff を直接使用してください。
# git diff 1.txt diff --git a/1.txt b/1.txt index 3b18e51..a042389 100644 --- a/1.txt +++ b/1.txt @@ -1 +1 @@ -hello world +hello world!
それでは、ステージングエリアとウェアハウスの変更を確認する方法を説明します。このとき、--staged オプションを追加する必要があります。
# git diff --staged 1.txt diff --git a/1.txt b/1.txt new file mode 100644 index 0000000..3b18e51 --- /dev/null +++ b/1.txt @@ -0,0 +1 @@ +hello world
要約するために
ワークスペースおよびステージング領域内のファイルへの変更を表示するには、 git diff [ファイル名]
## を使用して更新を送信します #git commit を使用して更新を送信し、ステージング領域の内容をウェアハウスに送信します。
通常は、-m オプションを使用して、今回提出された更新情報をまとめて書き込みます。次のように:# git commit -m 'first commit.add a txt file'-m オプションを追加しない場合、エディターがポップアップ表示され、エディターで更新された情報を送信できます。
大量のコンテンツを更新し、1 ~ 2 文では終わらせられない場合は、この方法を使用することをお勧めします。
以上がバージョン管理ツール Git - ウェアハウス管理.mdの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。