【Git】修正した内容を別のブランチへとチェックアウトで移動できない時に git stash を使って解決するときの流れメモ

スポンサードリンク

開発作業をしていて、いくつかファイルを修正後にその開発用のブランチ new-feature で作業しておらず master で作業していたことに気がつきました><。

どうしましょう?

別のフォルダに変更をコピーしておいて、new-feature ブランチを作ってチェックアウト、コピーを被せれば一応解決できそうですけれども。。。

Git で解決する方法を探ってみました。

想定する状況

  • new-feature ブランチを作成・チェックアウトしてから行う作業を、master ブランチで行ってしまった。
  • まだコミットは 1 度も行っていない。

“【Git】修正した内容を別のブランチへとチェックアウトで移動できない時に git stash を使って解決するときの流れメモ”の続きを読む

【Git】GitHub Flow で開発をした時の流れの記録♪

にて、リモートリポジトリとの結びつきを壊さず、かつ、リモートリポジトリを簡潔に保てるような開発手法の必要性を痛切に感じました><。

そこでその投稿でも紹介しました

を参考に、GitHub Flow で開発をしてみてうまくいきましたので、その時に使ったコマンドや流れをノートいたします♪

こちらのページでは、図解に加え、実際に使用するコマンドも例示されており、GitHub Flow を始めてみるのに大変助けとなったページですの♪

なお、参考ページと異なる点として、新規のリポジトリではなくて、既存のリポジトリに GitHub Flow を導入しております。

“【Git】GitHub Flow で開発をした時の流れの記録♪”の続きを読む


スポンサードリンク

【Git】ローカルからリモートリポジトリに push できない問題を解決するまでの記録!

ローカルで一区切りついたリポジトリをリモートに push し、その後も開発を続けておりました。

再び一区切りつきましたので、再度 push しようとしたところ、エラーです><。

今回はそんな状態から無事にリモートリポジトリへ push できるようになったところまでの記録をノートいたしました!

ポイント

  1. 作業用フォルダをクリーンな状態、git status で何も変更が表示されない状態、にしてから操作する。そうすれば、失敗してもこの状態に戻ることができる。
  2. ローカルリポジトリとリモートリポジトリを繋いだ状態にするには、ローカルブランチにリモートブランチから fetch → merge する。このとき、作業用フォルダの状態は、fetch する前のローカルの状態になるように作業する。 merge は一筋縄では行かないことが予想されるので、pull ではなく、fetch → merge と少しずつ進める。
  3. その後、push できるまで開発などを進め、リモートリポジトリへ push する。

問題の発生した状況

$ git push origin master
To http://111.11.1.1/gitremote/origin
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'http://111.11.1.1/gitremote/origin'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e. g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

“【Git】ローカルからリモートリポジトリに push できない問題を解決するまでの記録!”の続きを読む

【Git】ローカル master ブランチが変な場所にあるのをブランチの削除、リネームを駆使して解決した記録

ポイント

  • git branch -d <branchname> はブランチを削除するが、コミットを指しているブランチポインタが消えるだけでコミットしてきた歴史は消えない
  • master は特別なブランチではなく、他のブランチと同列に扱うことができる。

問題のある現状ログ

$ git log --all --decorate --graph --oneline
* C8 (HEAD -> add_second) second機能完成
* C7 CCCの追加
* C6 second機能の追加開始
| * C5 (master, add_first) first機能完成
| * C4 BBBを追加
|/
* C3 コードを整理
* C2 AAAを追加
* C1 最初のコミット

なぜ問題なのかと、最終的に望む状態

“【Git】ローカル master ブランチが変な場所にあるのをブランチの削除、リネームを駆使して解決した記録”の続きを読む

【Windows】【Git】コミットの比較に Winmerge を使う設定方法

Git で過去のものと比較したいと思うのは、自然なことと存じます。比較ツールには、使い慣れたものを使いたい、という思いも当然ですの。

そこで、コミット同士やコミットと作業フォルダの差異などを使い慣れた Winmerge で確認するための設定と、コマンドを調べましたのでメモいたします♪

“【Windows】【Git】コミットの比較に Winmerge を使う設定方法”の続きを読む

【Windows】【Git】消えた右クリックメニュー [Git Bash Here] を再表示するまでの試行錯誤

とあるフォルダを Git で管理しようと右クリックしてみますと、あらあら、コンテキストメニューに Git 関連の選択肢が表示されませんの><。

Windows Update の影響かしら?

解決いたしましたので、その過程の記録を残しておきます。

ポイント

  • [ライブラリ] から辿ったフォルダでは右クリックで [Git Bash Here] が表示されない。

環境

  • Windows 7 Professional 32 bit
  • git version 2.7.0.windows.1

“【Windows】【Git】消えた右クリックメニュー [Git Bash Here] を再表示するまでの試行錯誤”の続きを読む

【VBA】【Git】VBA とそのエクセルを Git でそれなりに管理する方法

管理するもの

  • Sample フォルダ配下で VBA コードとエクセルを管理
  • エクセル: Sample.xlsm、VBA: Sample クラス、Sample モジュール

管理方法ポイント

  • vbac を使用して VBA ファイルをエクスポートする。
  • bin フォルダにエクセルファイルを配置
  • src フォルダに VBA ソース配置 (自動生成)
  • Git で bin フォルダのエクセルファイル、src フォルダの VBA ソースを管理
  • VBA ソースは単体で使うよりも、エクセルのシートとも絡んだ使い方が多いため、エクセルファイルもバージョン管理に追加
  • .gitignore ファイルで、bin フォルダと src フォルダ以外をバージョン管理から除外

“【VBA】【Git】VBA とそのエクセルを Git でそれなりに管理する方法”の続きを読む

【Git】公式の参考書があった。学習が捗りますの♪

「GitHub実践入門」で検索しておりましたら、

という学習にも役立つ素晴らしいレビューページがございました。

そこに、公式参考書へのリンクが紹介されておりました♪やったぜ!

追記。印象に残ったこと。

リセットコマンドについて

用語の説明がわかりやすく、すっきりしていて、好き。

  • HEAD のことを、最新のコミットのスナップショットと捉えておくとわかりやすいでしょう。
  • インデックスとは、次のコミット候補のことを指します。Git の「ステージングエリア」と呼ばれることもあります。git commit を実行すると確認される内容だからです。
  • 作業ディレクトリのことは サンドボックス だと思っておいてください。そこでは、自由に変更を試せます。

git reset が 3 種類あり、それぞれどのような状態に変わるのかをわかりやすく説明していて、とても良い。

git reset によるコミットをまとめる方法がすっきりと理解できた。とてもわかりやすい。

以上です。

【Git】過去のファイルを入手する方法メモ

やりたいこと

ファイルをバックアップする用途としても Git を使用しております。

さて、いよいよ過去のファイルをちょっと見たい、という時がやってまいりました。

テキストではなくバイナリファイルなため (エクセルや PDF) ファイルを直接取り出したいのです。

はて?どうしたらよいかしら?

ポイント

  • git checkout [commit] を使用して作業ディレクトリ全体を過去の状態に戻す。

Git の過去ファイルを取得する手順

“【Git】過去のファイルを入手する方法メモ”の続きを読む

Git ローカルリポジトリを Visual Studio 2015 から Git リモートリポジトリにプッシュする方法メモ

流れ

  1. リモートリポジトリ作成
  2. Visual Studio プロジェクトにリモートリポジトリ設定
  3. プッシュ

“Git ローカルリポジトリを Visual Studio 2015 から Git リモートリポジトリにプッシュする方法メモ”の続きを読む