カテゴリー
コンピューター

【Atom】【Windows7】Merge Conflicts の Git Path を正しく設定して確認する方法

はじめに。経緯など

  • merge-conflicts は便利なのだが、説明ページと比べて動きが違うことに気がついた。
  • きっと設定が足りていないに違いないと見てみたら、Git Path が設定されていなかった。
  • Git Path の設定につまづいたため、やり方をメモしておく。
  • Windows 7 Professional 32 bit
  • Atom 1.6.1
  • Merge Conflict 1.4.1
  • Git 2.8.0.windows.1

ポイント

  • Git Path には C:¥Program Files¥Git¥bin¥git.exe というように git.exe も含めたフルパスの場所を指定する。
  • パッケージ > Merge Conflicts > Detect で設定の合否を確認できる。
  • OK なら、右上に青いポップアップが出現し、[Nothing to Merge No conflicts here!] と表示される(コンフリクトがない前提)。
カテゴリー
コンピューター

【Git】失敗しても元に戻れるようにマージする

おそるおそるマージするときに使ったコマンドです。

コマンド

# コミットしないでマージ
git merge --no-commit <branch>

# マージの取り消し
# (最新コミットに作業ディレクトリを戻す)
# (push 前なら安全)
# HEAD: 最新のコミットに対するハッシュ値の別名
# ORIG_HEAD: 最新の一つ手前のコミットに対するハッシュ値の別名
# ORIG_HEAD と HEAD を使い分けると良さそう。
git reset --hard ORIG_HEAD
カテゴリー
コンピューター

【Git】任意のコミットからブランチを生やして派生させる方法

過去の主店のコミットに戻って、そこから別の作業をしたい!そんな時の Git 操作ですわ♪

コマンドまとめ

# コマンドのハッシュを調べる
git log --all --decorate --graph --oneline

# コミットに移動
git checkout <hash>
# ブランチを作りチェックアウト
git checkout -b <branch-name>

# 指定コミットにブランチを作りチェックアウト
git checkout -b <branch-name> <hash>
カテゴリー
コンピューター

【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】リモートリポジトリ URL を調べて、その URL でクローンする手順

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

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

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

コマンドまとめ

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



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

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

環境

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

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

カテゴリー
コンピューター

【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】stash などを使わなくてもマージやブランチ操作ができるケース

状況

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

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

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

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

カテゴリー
コンピューター

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

やりたいこと

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

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

使用する Git コマンド

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

# 直近のコミットを変更してコミット
git commit --amend
  • ハンク: 変更点の塊のこと
カテゴリー
コンピューター

【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] を設定してインストールしないようにして進める。