最低限覚えておくgitコマンド(Ubuntu)

プログラム
スポンサーリンク

インフラエンジニアでもgitやgithubを使用する場面が多くなってきました。
インフラ構築もCloudFormationやTerraformなどコード管理する場合はプログラムと同様に変更管理が重要となってきます。

初期設定

ubuntuの場合は最初から入っている場合もありますが、gitコマンドが使用できない場合はインストールします。

$ sudo apt-get install git

その後、初期設定を行います。設定内容はホームディレクトリの「.gitconfig」に記載されています。
メールアドレスはダブルクォートで囲む形にしないと登録失敗します。
コンフィグファイルに設定内容が記載されていることを必ず記載しましょう。情報が不足しているとファイル転送等でエラーになります。

$ git config --global user.name <ユーザー名>
$ git config --global user.email "<メールアドレス>"
$ more .gitconfig 
[user]
        name = <ユーザー名>
        email = <メールアドレス>
$

インストールが完了したらテストとしてgithubのリポジトリをcloneしてみます。
今後はこのリポジトリが作業ディレクトリとなります。
リポジトリ名のフォルダが作成されますので、cloneする位置を考慮しましょう。

git clone https://github.com/<ユーザー名>/<リポジトリ名>.git

ファイルの送信(ローカル→github)

まずはgithubにファイルを送信する「push」からやってみます。
作成したリポジトリのディレクトリに適当にファイルを作成しましょう。

次に、作成したファイルをgitの同期対象であるということをgitコマンドに伝える必要があります。
コマンドは「git add <ファイル名>」です。
ファイルがたくさんある場合は「git add <ディレクトリ名>」として指定したディレクトリ配下すべてを対象とすることもできます。

次は転送対象としたファイル情報を確定させます。
コマンドは「git commit」です。
メッセージはなくてもよさそうですが、コマンドで実施する場合は付与した方が良いです。(対話型になる場合があるので)

この例では「test.txt」ファイルを追加してcommitしています。

$ git add test.txt
$ git commit -m "<メッセージ>"
[master (root-commit) 2aaf272] test
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.txt
$

ファイルの送信は「git push」コマンドで行います。githubにファイルをpush(送信)するということですね。

転送する前にgithubのリポジトリを登録する必要があります。
この手順通り設定している場合はcloneを実行した際に登録されます。
pushする場合はリポジトリのURLを指定するのではなく、登録されている名称(この場合は「origin」)を指定して送信先のリポジトリを指定します。
この状態でgit pushコマンドを実行するとファイルが転送されます。
「-u」で送信先のリポジトリ登録名を指定し、そのあとにブランチを指定します。

$ git remote -v
origin  https://github.com/<ユーザー名>/<リポジトリ名>.git (fetch)
origin  https://github.com/<ユーザー名>/<リポジトリ名>.git (push)
$
$ git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 201 bytes | 201.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)

githubにファイルを送る場合は「git addで対象指定」→「git commitで対象を確定」→「git pushでgithubへ送信」という3段階が必要となります。

ファイルの同期( github→ローカル)

githubのファイルとローカルのファイルの同期を行う場合は「git pull」コマンドを使います。
ここで言う同期は「githubと同じ状態にする」ということです。
ローカルで更新したファイルをgithubに送信したい場合は「git push」を使用することになります。

通常はメインブランチと同期することになると思うので何も指定せず「git pull」を実行するだけで問題ありません。特定のブランチと同期したい場合はブランチ名も指定しましょう。

コメント

タイトルとURLをコピーしました