Gitの基本的な使い方:GitHub連携その2

GitHubからのclone

git clone git@github.com:ユーザー名/リポジトリ名.git

httpsを使う場合は以下のようになります。

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

GitHubのリモートリポジトリから新しくローカルリポジトリを作成することができます。
つまり、GitHubからローカルリポジトリにデータをコピーすることができます。

git clone直後の状態は、clone元のリモートリポジトリをoriginという名前で参照可能になっています。
また、mainブランチが現在のブランチになります。
必要に応じて以下のコマンドで現在のブランチ名を確認してください。

git branch

GitHubへpush

ローカルリポジトリのデータを変更しステージ環境にadd、ローカルリポジトリにcommitした後、GitHubのリモートリポジトリに更新データをpushします。

git push

pushに成功した場合は以下の様に表示されます。

Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 219 bytes | 219.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:ユーザー名/リポジトリ名.git
*[new branch] main -> main
Branch 'main’ set up to track remote branch 'main’ from 'origin’.

GitHubの画面を確認するとデータがアップロードされているはずです。

GitHubからpull

git pull

リモートリポジトリから更新データを取得します。

git pull origin ブランチ名

このコマンドによりリモートリポジトリのブランチ名の最新データが、ローカルリポジトリのブランチ名に取得できます。
データが最新のその旨が表示されます。

他の開発者と同じブランチを変更しているとpushする際に衝突(コンフリクト)が発生する確率が上がります。
とは言え、ブランチを分けているとマージする際にコンフリクトが発生する確率が上がります。
こまめにpush、pullするという方法もありますが、コンパイルエラーが発生する状態でpush、pullするとビルドができなくなってしまいます。
この辺りはチームで運用方法を相談していく必要があります。

一般的にはgit flowなどが使われているようです。

ブランチの作成とpush

GitHubのリモートリポジトリにもmain以外のブランチを作成することができます。
以下のコマンドにてローカルリポジトリにブランチを作成します。

git branch ブランチ名

新しく作成したブランチに移動するには以下のコマンドを実行します。

git checkout ブランチ名

このブランチを作成し、移動する処理は以下のコマンドで一括して実行できます。

git checkout -b ブランチ名

この状態で以下のコマンドを実行すると、リモートリポジトリにブランチ名というブランチをpushできます。

git push -u origin ブランチ名

リモートブランチ上のブランチ確認

git branch -a

現在のブランチを確認するコマンドに-aオプションを指定するとローカルリポジトリに加え、リモートリポジトリの情報も表示できます。

別のブランチのチェックアウト

既にGitHub上にブランチ名というブランチがある場合、以下のコマンドでリモートリポジトリからブランチ名をブランチ名という名前で作成ます。

git branch ブランチ名 origin/ブランチ名

この操作も同様に以下のコマンドでブランチの切り替えまで一括して行えます。

git checkout -b ブランチ名 origin/ブランチ名

Gitの各種コマンド

ここまでの内容で普段の開発に必要となる基本的な操作は大丈夫でしょう。
あとはGit操作を間違えた際のリカバリー方法など運用面の操作になります。

とは言え、cloneやpull、push、checkoutとややこしくなってきました。
コマンドを一覧しておきましょう。

cloneリポジトリ全体をコピーする
pushローカルリポジトリの変更内容をリモートリポジトリに送信する
pullリモートリポジトリの内容を取得する
branchブランチに関する操作を行う
checkoutブランチを切り替える(その際同時にブランチを作成することもできる)

Advertisements

Tool

Posted by codive