10 の高度な Git テクニック - KDnuggets

10 の高度な Git テクニック – KDnuggets

ソースノード: 3083811

10 の高度な Git テクニック
著者からの画像
 

Git を使用しているときに、マネージャーの前でプロのように見せるにはどうすればよいか考えたことはありますか?この投稿では、コードのバージョン管理、保守、共有をより効率的に行うための 10 の高度な Git テクニックとショートカットについて学びます。

おそらく、Git を使用したコミット、プッシュ、プル、ブランチの基本はすでにご存じでしょう。ただし、スキルをレベルアップできる、あまり知られていないコマンドや機能がたくさんあります。これを読めば、Git の熟練度で同僚に好印象を与えるための、いくつかの巧妙なトリックが身につくでしょう。

この方法でファイルを何度も追加してコミットしましたが、「-am」フラグを使用して 1 行で実行できると言ったらどうなるでしょうか? 

$ git add .
$ git commit -m "new project"

 

代わりにこれを試してみると、ファイルの変更が追加され、メッセージを使用してコミットが作成されます。 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

`-amend` フラグを使用して現在のコミット メッセージの名前を変更し、新しいメッセージを書き込むことができます。これは、誤ったメッセージに対処するのに役立ちます。

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

現在のコミットをリモート リポジトリにプッシュする前に、現在のコミットに追加の変更を含めることができます。これを行うには、ファイルの変更を追加し、`-amend` フラグを使用してコミットする必要があります。以前のコミット メッセージを保持するには、単に「–no-edit」フラグを使用します。

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

問題の解決に対処せずに、ローカル コミットをプッシュしてリモート履歴をオーバーライドしたい場合は、`-force` フラグを使用できます。ただし、force フラグの使用は推奨されず、何をしようとしているのかが完全にわかっている場合にのみ使用する必要があることに注意することが重要です。強制フラグを使用すると、リモート履歴が書き換えられることに注意してください。

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Git でコミットを取り消すには、「revert」コマンドを使用できます。ただし、このコマンドはコミットを削除しません。代わりに、元のコミットによって加えられた変更を元に戻す新しいコミットを作成します。

コミット履歴を短い形式で表示するには、「log」と「-oneline」フラグを使用します。 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

以前のコミットに戻すには、`git revert` コマンドの後にコミット ID を指定します。これにより、前のコミットからの変更を含む新しいコミットが作成されます。

$ git revert 8f184d5

GitHub での生産性を向上させたいですか? GitHub Code Spaces を使用すると、ブラウザでコードを直接編集して実行できるようになります。 

この機能にアクセスするには、お気に入りのリポジトリに移動し、キーボードのピリオド キー (「.」) を押すだけで、VSCode UI にリダイレクトされます。

 

10 の高度な Git テクニック
著者からの画像
 

コードに変更を加えて、リモート リポジトリにプッシュできます。ただし、ターミナルでコードを実行する場合は、クラウドでコードスペースを実行する必要があります。無料バージョンは、ブラウザで Python コードを実行するための優れたオプションを提供します。それはすごいことではないでしょうか?今日それを知りました。

 

10 の高度な Git テクニック
著者からの画像

プロジェクトで作業する場合、ファイルをステージング領域に追加し、それらをコミットして現在の進行状況を保存できます。ただし、「stash」コマンドを使用して作業内容を簡単に保存する別の方法があります。 「stash」を使用すると、現在の進行状況をステージング領域に追加したりコミットしたりせずに保存できます。これにより、進行状況を保存し、必要なときにいつでも復元できるようになります。

名前を付けて現在の進行状況を保存します。 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

隠しリストを表示し、対応するインデックスをメモして取得できます。

$ git stash list

 

stash@{0}: On master: new-idea

 

「新しいアイデア」の隠し場所はインデックス 0 に保存されています。これを取得するには、次のコマンドを使用します。

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

デフォルトのブランチ名をより適切な名前に変更するオプションがあります。ここでは、「master」の名前を「main」に変更します。 

$ git branch -M main

 

10 の高度な Git テクニック
 

次のコマンドを使用して変更を確認できます。 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

現在のリポジトリで行われたすべてのコミットの詳細な履歴を表示したい場合は、`git log` コマンドを使用できます。ただし、出力は読みにくい場合があります。読みやすくするために、`graph`、`decorate`、および `oneline` フラグを使用できます。これにより、複数のブランチで行われた変更と、それらがどのようにマージされるかが表示されます。

$ git log --graph --decorate --oneline

 

10 の高度な Git テクニック

新しいブランチに切り替えたときに、前のブランチの名前を忘れてしまったことが何度かあります。そのため、ブランチ名のリストを表示するには「git Branch -a」コマンドを使用する必要がありました。ただし、「git checkout」コマンドの後にダッシュ「-」を使用して、元のブランチに戻る簡単な方法があります。

まず、新しい Git ブランチ「neo」を作成します。

$ git branch neo

 

「neo」ブランチに切り替えます。

$ git checkout neo

 

Switched to branch 'neo'

 

元のブランチに戻るには、次のコマンドを使用します。

$ git checkout -

 

Switched to branch 'main'

リモート リポジトリのオーバーライドについて学習しました。リモート リポジトリを使用してローカル リポジトリをオーバーライドする方法を学びましょう。

「fetch」コマンドを使用して、リモート リポジトリから最新の変更を取得します。 

$ git fetch origin

 

次に、「hard」フラグを指定した「reset」コマンドを使用して、ローカルの変更をリモート バージョンでオーバーライドします。これにより、ローカルでの変更が完全に破棄されることに注意してください。

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

まだ追跡されていないファイルがある場合は、次のコマンドを使用して削除できます。

$ git clean -df

この記事を書こうと思ったのはある番組を見てからでした YouTubeビデオ ファイアシップによる。私は、複雑なトピックを簡単な方法で説明する作者の能力を尊敬しています。彼の方法に従うことで、Git の機能について多くのことを学びました。

この記事では、共同データ プロジェクトに取り組むデータ サイエンティストやソフトウェア エンジニアにとって重要な高度な Git テクニックについて説明しました。これらのテクニックを知っていれば、事故を回避し、問題をより迅速に解決することができます。

このブログがお役に立てば幸いです。データ サイエンスの世界で一般的に使用されているツールに関するバイト サイズの情報を含む投稿をさらに読みたい場合は、お知らせください。
 
 

アビッド・アリ・アワン (@ 1abidaliawan)は、機械学習モデルの構築を愛する認定データサイエンティストの専門家です。 現在、彼はコンテンツの作成と、機械学習とデータサイエンステクノロジーに関する技術ブログの執筆に注力しています。 Abidは、技術管理の修士号と電気通信工学の学士号を取得しています。 彼のビジョンは、精神疾患に苦しんでいる学生のためにグラフニューラルネットワークを使用してAI製品を構築することです。

タイムスタンプ:

より多くの KDナゲット