職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

git fetch(フェッチ)

2022年11月13日 | Git
git fetch(フェッチ)


【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2

【fetch(フェッチ)】
git fetch(フェッチ)はリモートレポジトリのコミット履歴をとってきて、ローカルレポジトリにコピーするコマンドです。

Git fetchとpullの違い
fetch・・・リモートと通信を行い、更新された内容をローカルリポジトリに取り込む。(ローカルのソースファイル自体はまだ更新されない)
pull・・・上記のfetchとmergeというコマンドを連続して実行し、リモートの更新内容をローカルのソースファイルに反映させる。

つまりfetchとは
⇒リモートブランチからローカルリポジトリのリモート追跡ブランチ(origin/main)に情報を送る事。

1.origin/master →リモートリポジトリの master を追跡するリモート追跡ブランチ である。
2.origin/master →ローカルの master ブランチの上流ブランチ である。
3.ローカルの master → origin/master を上流ブランチとする。


■GitHub側
Gitmanabe/readme.mdファイルを下記のように書き換える
鉛筆マークをクリック

下記のように書く

「commit changes」ボタンをクリックする


■VSCodeに戻り
・fetchコマンドを実行
PS D:\Git\Gitmanabe> git fetch
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 3), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), 1.34 KiB | 3.00 KiB/s, done.
From github.com:shyokuanjin/Gitmanabe
f45b7b1..d6b16eb main -> origin/main

readme.mdファイルに反映されない

・mergeコマンドを実行
PS D:\Git\Gitmanabe> git merge origin/main
Updating f45b7b1..d6b16eb
Fast-forward
readme.md | 3 +++
1 file changed, 3 insertions(+)

今度はreadme.mdファイルに反映された。
以上

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Git -Merge(統合)

2022年11月11日 | Git
Merge(統合)


開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2

【git merge】
git mergeは元のブランチ(main)とトピックブランチ(分岐したブランチ)を統合した新しいコミットを作成します。


・ブランチの確認
PS D:\Git\Gitmanabe> git branch
main
* second

【mainに統合するには】
・ mainに切り替える
PS D:\Git\Gitmanabe> git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
PS D:\Git\Gitmanabe> git branch
* main
second
PS D:\Git\Gitmanabe>

・secondをmainに取り込む
PS D:\Git\Gitmanabe> git merge second
Updating 90a13e9..f45b7b1
Fast-forward
b_test1.txt | 0
b_test2.txt | 1 +
2 files changed, 1 insertion(+)
create mode 100644 b_test1.txt
create mode 100644 b_test2.txt
PS D:\Git\Gitmanabe>

・pushする
PS D:\Git\Gitmanabe> git push
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:shyokuanjin/Gitmanabe.git
90a13e9..f45b7b1 main -> main
PS D:\Git\Gitmanabe>

PS D:\Git\Gitmanabe> git log
commit f45b7b150bbd656a862eac234929ff1d1a7d24eb (HEAD -> main, origin/second, origin/main, second)
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Thu Nov 10 14:23:43 2022 +0900

追加

commit 2b7b08718fc53a9cb68e481cb4ffcd5d65e4ba65
Author: shyokuanjin <shyokuanjin@gmail.com>
Date: Wed Nov 9 14:25:04 2022 +0900

secons branch first commit

commit 90a13e9f033107579030587076daeacf368068a1
Author: shyokuanjin <shyokuanjin@gmail.com>
:
・gitHubを確認する
マージ前

マージ後

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Git--ブランチ(リモート)

2022年11月10日 | Git
ブランチ(リモート)


【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2

【ブランチをリモートに】
ブランチの確認
PS D:\Git\Gitmanabe> git branch
main
* second
PS D:\Git\Gitmanabe>

・pushする
PS D:\Git\Gitmanabe> git push -u origin second
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 273 bytes | 19.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote:
remote: Create a pull request for 'second' on GitHub by visiting:
remote: https://github.com/shyokuanjin/Gitmanabe/pull/new/second
remote:
To github.com:shyokuanjin/Gitmanabe.git
* [new branch] second -> second
branch 'second' set up to track 'origin/second'.
PS D:\Git\Gitmanabe>

・GitHubを確認
secondブランチに「 b_test1.txt」ファイルがpushされていた。


mainブランチ


【二度目はpushするだけでsecondブランチにアップされる】
・新たなファイルを作って、プッシュする
「 b_test2.txt」ファイルを作り、コミットする

プッシュする

・再び、GitHubを確認
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Git--ブランチ(ローカル)

2022年11月10日 | Git
ブランチ-ローカル

【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2

【ブランチ(branch)とは】
ブランチ(枝分かれ)は、1つのプロジェクトから分岐させることにより、プロジェクト本体に影響を与えずに開発を行える機能のことを言います。
つまり、現行のバージョンのプロジェクトから枝分かれさせて他の作業を行う時に、用いられます。

ブランチは安定したバージョンをmainブランチと呼ばれ、プログラムの修正や機能の追加を行うときにブランチを追加(ブランチを切るとも言う)し、担当者別にそれぞれのブランチで作業を行います。



メリット
・プロジェクトの本体に影響を与えずに作業ができる
・ブランチを切ることで目的別に同時並行で作業が行える
・不具合が発生した場合も対応が容易になる

【ブランチのコマンド操作】
・ローカルブランチの一覧
PS D:\Git\Gitmanabe> git branch
* main ←カレント

・リモートブランチの一覧
PS D:\Git\Gitmanabe> git branch -r
origin/main

・ローカルとリモートブランチの一覧
PS D:\Git\Gitmanabe> git branch -a
* main
remotes/origin/main

・ブランチ作成
PS D:\Git\Gitmanabe> git branch 'second'
PS D:\Git\Gitmanabe> git branch
* main
second

・ブランチの切り替え
PS D:\Git\Gitmanabe> git checkout second
Switched to branch 'second

・ブランチ表示
PS D:\Git\Gitmanabe> git branch
main
* second←カレント

・「 b_test1.txt」を追加する
PS D:\Git\Gitmanabe> git status
On branch second
Untracked files:
(use "git add <file>..." to include in what will be committed)
b_test1.txt

nothing added to commit but untracked files present (use "git add" to track)
その後、コミットまで済ます


・ディレクトリの現在の状態確認
PS D:\Git\Gitmanabe> git status
On branch second
nothing to commit, working tree clean

・mainに切り替える
PS D:\Git\Gitmanabe> git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
mainブランチでは、ファイルは消えている


・再び、secondに切り替える
PS D:\Git\Gitmanabe> git checkout second
Switched to branch 'second'



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

git--pullとCloneの違い

2022年11月08日 | Git
pullとCloneの違い


【開発環境】
OS:Win11(64ビット)
git version 2.37.3.windows.1
VSCode1.72.2
Git & Github入門 レッスン10 Clone
【Git cloneとpullの違い】
2つのコマンドはGitHub上(リモートリポジトリ)にあるファイルを実行した環境にコピーするという点は同じ役割をもっています。

■pull:ローカル側とリモート側で、差異がある(更新されている)ファイルを全てコピーし、コピーするファイルはブランチ単位で指定可能

コマンド
git pull origin main

試しに、
「Gitmanabe」フォルダから「Pull_test2.txt」をpushする

「copy」フォルダから「Pull_test2.txt」をpullする

何故か、成功した。

■clone:リモートリポジトリに存在する全てのファイル群の複製をカレントディレクトリに作成します。その後は、pullで更新されたファイルだけをコピーする。

コマンド
git clone リポジトリのURL
リポジトリのURL

git-bashを立ち上げ
Owner@DESKTOP-JHUP2OI MINGW64 /
$ cd /d/Git

Owner@DESKTOP-JHUP2OI MINGW64 /d/Git
$ mkdir copy←新規フォルダを作る

Owner@DESKTOP-JHUP2OI MINGW64 /d/Git
$ ls
Gitmanabe/ 'SSH 公開鍵.txt' copy/ push_test/

Owner@DESKTOP-JHUP2OI MINGW64 /d/Git
$ git clone git@github.com:shyokuanjin/Gitmanabe.git copy←Cloneコマンド
Cloning into 'copy'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 10 (delta 1), reused 6 (delta 0), pack-reused 0
Receiving objects: 100% (10/10), done.
Resolving deltas: 100% (1/1), done.

Owner@DESKTOP-JHUP2OI MINGW64 /d/Git

「copy」フォルダーにコピーされる


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする