【Java】Java Core 81: Gitチュートリアル (4) 差分比較&バージョンロールバック



ここに画像の説明を挿入

Git では、差分比較コマンドとバージョン ロールバック コマンドを使用して、ファイル間の差異を表示し、以前のバージョンにロールバックできます。

これらの操作について簡単に説明します。

差分比較:git diffコマンドを使用して、ワークスペース内のファイルとステージング領域またはコミットされたバージョンのファイル間の違いを比較できます。次のコマンドを実行して、ファイルの違いを表示します。

git diff

これにより、ワークスペースとステージング領域の違いが表示されます。ワークスペースとコミットされた最新バージョンとの違いを比較したい場合は、パラメーターを追加できます。

git diff HEAD

このコマンドは、ワークスペースと HEAD (最新のコミット) の差分を表示します。

バージョンのロールバック: 以前のバージョンにロールバックする必要がある場合は、git checkoutまたはgit resetコマンドを使用してそれを実現できます。

このコマンドを使用してgit checkout、指定したバージョンのファイル コンテンツをワークスペースに復元します。次のコマンドを実行します。

git checkout <commit号> <文件名>

<コミット番号> は、フォールバック先の特定のコミットの識別子であり、 git log コマンドを通じて表示できます。<filename> はロールバックするファイル名です。

git replace コマンドを使用して、特定の送信とその後のすべての送信を取り消し、コード ベースを指定されたバージョンに復元します。次のコマンドを実行します。

git reset <commit号>

<コミット番号> は、ロールバック先の特定のコミットの識別子です。

注: git replace コマンドを使用してバージョンをロールバックすると、取り消された送信とその後の送信レコードが削除され、復元することはできません。パブリック コード ベースへの不可逆的な影響を避けるために、このコマンドはローカル開発環境で使用することをお勧めします。

補足: バージョンのロールバック操作を実行する前に、現在のバージョンの安定した状態を維持するために、ブランチを作成し、このブランチに切り替えることを推奨します。次のコマンドを使用してブランチを作成し、切り替えることができます。

git branch <分支名>
git checkout <分支名>

こうすることで、メイン ブランチや進行中の他の作業に影響を与えることなく、新しいブランチでバージョン ロールバック操作を実行できます。


06. GITローカル操作 - 差分比較

目標
使用 git diff来比较暂存区、本地库与工作区的内容

コンテンツ

vim コマンドを使用して readme.txt ファイルを編集し、コードの 2 行目を追加し、wq を使用して終了します。

ここに画像の説明を挿入

ここに画像の説明を挿入

  • ワークスペースのステージング領域の比較

    命令:git diff readme.txt
    

ここに画像の説明を挿入

  • ワークスペースのローカル リポジトリの比較

    命令:git diff HEAD readme.txt
    

ここに画像の説明を挿入

  • ステージングエリア内のローカルライブラリの比較

    命令:git diff --cached readme.txt
    

ここに画像の説明を挿入

ここではキャッシュはローカル ライブラリと変わらないため、コンテンツはありません。

  • 補足:ステージングエリアとローカル倉庫への2回目の提出は可能です
まとめ
  • ワークスペースとステージング領域の比較

    git diff ファイル名

  • ワークスペースとネイティブ ライブラリの比較

    git diff head ファイル名

  • ステージングエリアとローカルライブラリを比較するとどうなるか

    git diff --キャッシュされたファイル名


07. GIT ローカル操作 - バージョンのロールバック

目標
掌握 git log、git reflog、git reset 作用
コンテンツ

ステージング領域からローカル ウェアハウスに送信すると、現在送信されたバージョンに問題があることがわかりました。指定したバージョンにロールバックしたい場合は、どうすればよいでしょうか?

ここに画像の説明を挿入

vim コマンドを使用して readme.txt を編集し、「コードの 3 行目です」を追加します。

ここに画像の説明を挿入

命令:git add readme.txt 提交到暂存区

ここに画像の説明を挿入

命令:git commit -m '第三次提交' 提交到本地仓库

git が提供する view log コマンドを使用して、送信されたログを表示できます。

命令:git log  查看当前提交日志

ここに画像の説明を挿入

これまでにローカル倉庫で 3 回提出したことがわかります。つまり、3 つの異なるバージョンが存在します。その中で、最新バージョンにはマークが付いています: HEAD-> master これは、現在のブランチをマークする現在のバージョンの場所です 現在の場所が表示されない場合は、次のコマンドを使用して表示できます。

命令:git log --decorate  查看当前提交日志,且显示当前分支的当前版本所在位置

ログの各バージョンの前に、乱数の長い文字列があります: b44a10787c2b2bcc7ceb9c39cf06309065518d4b, これは各送信のコミット IDであり、SHA1 アルゴリズムを通じて取得された値です。Git はこの一意の ID を使用して各送信を区別します。

  • 以前のバージョンにロールバックする

    命令:git reset --hard HEAD^
    
    回归到上一个版本,Git通过HEAD来判断当前所在的版本位置。那么上一个版本,就用HEAD^标示,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。 
    

ここに画像の説明を挿入

現時点では、ログ git log を確認できます。

ここに画像の説明を挿入

バージョンが 2 つしかないことがわかりました。ファイルの内容を確認してみましょう

ここに画像の説明を挿入

  • 指定されたバージョンにフォールバックします

    まず使用します

    命令: git reflog 查看所有操作
    

ここに画像の説明を挿入

見つかったら、次のコマンドを使用して、指定したバージョンにロールバックできます。

命令:git reset --hard 版本号 回退到指定版本

ここに画像の説明を挿入

3 回目のコミットに戻り、今回はファイルを調べます。

ここに画像の説明を挿入

まとめ
  • 現在のログを表示する方法

    git log は現在の操作のみを確認できます

  • すべての操作ログを表示する方法

    git reflog すべての操作ログを表示する

  • 以前のバージョンに戻す方法

    gitリセット --ハードヘッド^

  • 指定したバージョンにロールバックする方法

    git restart --ハードバージョン番号




ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_60915009/article/details/131457272