【Git】クローンしたリポジトリの master 以外のブランチを追跡する方法

スポンサードリンク

リポジトリをクローンすると、HEAD は master を指しています。他のローカルのブランチは、ありません。

実際に作業をするときは、master ではないブランチから始めたい、そんなことがよくありますの。

この場合、作業を開始したいコミットへチェックアウトして、ブランチを作成してそのブランチへチェックアウトすることになりますわ。

その手順をまとめます。

コマンドまとめ

# リモートリポジトリのブランチが指す場所にチェックアウト
git checkout <remote>/<branch>
# ブランチを作成してチェックアウト
git checkout -b <branch>

# リモートリポジトリのブランチが指す場所に新しくブランチを作成してチェックアウト
git checkout -b <branch> --track <remote>/<branch>

# <remote>/<branch> の <branch> と同じ名前を付ける場合は次で OK
git checkout --track <remote>/<branch>

“【Git】クローンしたリポジトリの master 以外のブランチを追跡する方法” の続きを読む

【Git】リモートリポジトリ URL を調べて、その URL でクローンする手順

今まで自分がアクセスしていたリモートリポジトリを調べて、それで他の人に git clone していただきたいですの。

または、別の端末で続きを進めることになったため、今作業中のプロジェクトのリモート URL を調べておきたいですわ。

普段は origin で済ますことができたるため、URL をよく忘れてしまいますの><。

コマンドまとめ

# リモートリポジトリ名の一覧
git remote show
# リモートリポジトリの詳細
git remote show <remoterepository>



# リモートリポジトリをクローン
git clone <repositoryurl>

“【Git】リモートリポジトリ URL を調べて、その URL でクローンする手順” の続きを読む


スポンサードリンク

【Git】【Windows】diff で Excel の違いを見られるようにする方法

環境

  • Windows7 Professional 32bit
  • git version 2.7.2.windows.1

1. Go 言語および git-xlsx-textconv の導入

“【Git】【Windows】diff で Excel の違いを見られるようにする方法” の続きを読む

【Git】–no-ff オプションを付け忘れたマージをやり直す方法

git merge --no-ff <branchname> とするところを間違えて git merge <branchname> と –no-ff オプションをつけ忘れて実行してしまいました><。

今回は、git の過去を改変して –no-ff オプションをつけたマージをやりなおす方法をノートいたします。ローカル環境です。

解決のポイント

  • git reflog でマージ前に戻る。
  • git reset --hard HEADgit reset --hard ORIG_HEAD では解決できなかった。
  • git reset --hard MERGE_HEAD だったら上手く解決できたのかもしれない(未検証)。

補足

  • HEAD: 最新のコミットに対するハッシュ値の別名
  • ORIG_HEAD: 最新の一つ手前のコミットに対するハッシュ値の別名
  • MERGE_HEAD: マージされたブランチの最新のコミットに対するハッシュ値の別名

“【Git】–no-ff オプションを付け忘れたマージをやり直す方法” の続きを読む

【Git】stash などを使わなくてもマージやブランチ操作ができるケース

状況

  1. ブランチでコミット、作業完了
  2. master ブランチへマージし忘れた。
  3. 別の作業を開始して、編集途中。ファイルのへの変更などが既に保存されている。作業ディレクトリには変更があるがステージへは追加していない。

こんな時、ブランチで作業完了時点で master へマージして、新しいブランチを作って作業するべきだった><、とか、だから stash して辻褄を合わせなきゃ><、とか思っておりました。

しかし、特別な退避操作は必要ありませんでした。

作業ディレクトリは編集途中の状態のまま、マージやそのためのチェックアウトをすることができました。

“【Git】stash などを使わなくてもマージやブランチ操作ができるケース” の続きを読む

【Git】修正した一部分だけを直前のコミットに含める方法

やりたいこと

  1. コミット終了、次の作業へ Go!
  2. ファイル編集中に、前回コミットに含めるべき修正に気がついた><。

編集した一部分のみ直前のコミットへ含め、その後、残りの修正を普通にコミットしたい。

使用する Git コマンド

# 対話的にハンクをインデックスへ追加
git add --patch <pathspec>

# 直近のコミットを変更してコミット
git commit --amend
  • ハンク: 変更点の塊のこと

“【Git】修正した一部分だけを直前のコミットに含める方法” の続きを読む

【Git】【Windows】P4Merge の導入、設定をノート

P4Merge インストール

  1. Visual Merge and Diff Tools | Perforce からダウンロード
  2. [Select Features] では [Visual Merge Tool(P4Merge)] のみ選択し、他は [This feature will not be installed and will be uninstalled if already installed] を設定してインストールしないようにして進める。

“【Git】【Windows】P4Merge の導入、設定をノート” の続きを読む

【Windows】【Git】gitk の文字化けを解消する設定

設定コマンド

# gitk の文字化けを解消
git config --global gui.encoding utf-8

設定ファイル

[gui]
    encoding = utf-8

“【Windows】【Git】gitk の文字化けを解消する設定” の続きを読む

【Git】管理下プロジェクトの zip ファイルを作成する git コマンド

ポイント

  • git archive で指定したブランチのスナップショットを生成

コマンド

# プロジェクトディレクトリの下に最新のスナップショットを作成
# --prefix="directory/prefix": フォルダやファイル名を接頭辞として追加
git archive master --format=zip > testproject.zip

“【Git】管理下プロジェクトの zip ファイルを作成する git コマンド” の続きを読む

【Git】今週学んだことのノート

フォルダ

  • .git のあるフォルダ名は自由に変更して問題ない。

マージ

“【Git】今週学んだことのノート” の続きを読む