🗝️
Gitコマンド入門::clone(fetch,pull,push,--no-track)「第四十七回」
みなさんこんにちは! 今回は何もないところから、前回の環境を作成してみましょう! やり方もいろいろあると思いますが、今回は、fetch と、branch コマンドで環境作成してみます。その他、pull や、clone などでも勿論可能ですから、余裕のある人は、是非、お試しください。今回は私としては珍しく、一番オーソドックスなやり方で学習しますね。
前回の記事はこちらから!
git本家本元の情報はこちらから!
それでは今日は、前回の学習用環境を、fetch します!
$ mkdir func0047 && cd $_
// フォルダー作成と移動を同時に実行、
// 第47回なので、func0047 命名!
$ git init
// 毎度のイニシャル!
$ git remote add origin https://github.com/shiozumi-makoto/20210316_2.git
// リモートリポジトリーは、前回、第四十六回のものを使います!
$ git remote -v
origin https://github.com/shiozumi-makoto/20210316_2.git (fetch)
origin https://github.com/shiozumi-makoto/20210316_2.git (push)
// 一応、確認して置きましょう!
// origin と、GitHubのリポジトリーのURLが、
// 紐づいていれば、設定完了です!
git fetch ※最初は省略形で、fetchします!
-
git fetch origin main
・・・こちらがフルコマンドの場合ですね! -
git fetch origin temp_1
・・・こちらがフルコマンドの場合ですね!
$ git fetch
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/shiozumi-makoto/20210316_2
* [new branch] main -> origin/main
* [new branch] temp_1 -> origin/temp_1
$ git branch -avv
remotes/origin/main 1bd77d3 1st
remotes/origin/temp_1 1bd77d3 1st
$ git branch main origin/main
Branch 'main' set up to track remote branch 'main' from 'origin'.
// リモートmainブランチから、ローカルmainブランチを作成して、
// リモート追跡remotes/origin/mainブランチとの紐づけを行います。
$ git branch temp_1 origin/temp_1
Branch 'temp_1' set up to track remote branch 'temp_1' from 'origin'.
// リモートtemp_1ブランチから、ローカルtemp_1ブランチを作成して、
// リモート追跡remotes/origin/temp_1ブランチとの紐づけを行います。
$ git branch -avv
main 1bd77d3 [origin/main] 1st
temp_1 1bd77d3 [origin/temp_1] 1st
remotes/origin/main 1bd77d3 1st
remotes/origin/temp_1 1bd77d3 1st
// これで、前回と同じ環境になりましたね!
git branch --no-track temp_2 origin/temp_1
今度は、temp_2 を作成するときに、トラッキングしないようにブランチを作成してみます。
$ git branch --no-track temp_2 origin/temp_1
$ git branch -avv
main 1bd77d3 [origin/main] 1st
temp_1 1bd77d3 [origin/temp_1] 1st
temp_2 1bd77d3 1st <!-- これで、紐づけされていませんね!
remotes/origin/main 1bd77d3 1st
remotes/origin/temp_1 1bd77d3 1st
git branch --set-upstream-to=origin/temp_1 temp_2
では、後から、上流ブランチの設定を追加してみましょう!
$ git branch --set-upstream-to=origin/temp_1 temp_2
$ git branch -avv
main 1bd77d3 [origin/main] 1st
temp_1 1bd77d3 [origin/temp_1] 1st
temp_2 1bd77d3 [origin/temp_1] 1st <!-- 設定完了!
remotes/origin/main 1bd77d3 1st
remotes/origin/temp_1 1bd77d3 1st
さらに、前々回のリポジトリーも追加します!
$ git remote add Rep0045 https://github.com/shiozumi-makoto/20210316.git
// 名称は、Rep0045 としました!
$ git remote -v
Rep0045 https://github.com/shiozumi-makoto/20210316.git (fetch)
Rep0045 https://github.com/shiozumi-makoto/20210316.git (push)
origin https://github.com/shiozumi-makoto/20210316_2.git (fetch)
origin https://github.com/shiozumi-makoto/20210316_2.git (push)
// 2つ目のリポジトリが追加されているのが分かりますね。
$ git fetch Rep0045
warning: no common commits
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/shiozumi-makoto/20210316
* [new branch] main -> Rep0045/main
* [new branch] temp -> Rep0045/temp
* [new branch] temp_1 -> Rep0045/temp_1
// fetch したら3つほど、リモート追跡ブランチが作成されました。
// 勿論、みなさんの環境によって、異なりま~す!
$ git branch -avv
main 1bd77d3 [origin/main] 1st
temp_1 1bd77d3 [origin/temp_1] 1st
temp_2 1bd77d3 [origin/temp_1] 1st
remotes/Rep0045/main 3abef4b 1st <!-- 新しく追加!
remotes/Rep0045/temp 3abef4b 1st <!-- 新しく追加!
remotes/Rep0045/temp_1 3abef4b 1st <!-- 新しく追加!
remotes/origin/main 1bd77d3 1st
remotes/origin/temp_1 1bd77d3 1st
まあ~、一度にたくさんのブランチを、どう操作するのかは、その状況にならないと想像がつきませんけど、このようなことが出来るっていうことだけは、経験置きましょう! 尚、二つ目のリポジトリーを追加するときは、origin ではなく、任意の名称にする必要がありますので、ご注意ください。また、コマンドの省略形のデフォルトは、origin となりますから、新しくGitHubのリモートリポジトリーを追加した場合は、どのコマンドにも、ここでいうなら、Rep0045 を追加しないと指定どおりに動作しませんので悪しからず!
それでは、今回はここまで、お疲れ様でした!
Discussion