GitFlow for Visual Studio 2017

Posted by muchag | Git,Library & PlugIn & AddIn,Visual Studio |
初回投稿:2018-01-21 (日) 18:49:35 | 最終更新:2018-01-21 (日) 19:00:16

Visual Studio に GitFlow を導入するための機能拡張。

マーケットプレイス:GitFlow for Visual Studio 2017

【環境】
Visual C#: Community 2017
導入

上記ページから、.vsix ファイルを DL して開けば、
インストール作業が始まる。

その前に VS を閉じておくとスムーズ。

インストール後、チーム エクスプローラーのメニューに
「GitFlow」が追加される。

初期設定

「GitFlow」へ移動して [Initialize] [OK]

運用

「GitFlow」へ移動
[Start Feature] [Start Release] [Start Hotfix] [Other]

作成
[Start Feature] Feature 名を入力
[Create Feature]
その他
[Finish Feature] [Finish Release] [Finish Hotfix]
Posted by muchag | Git,Library & PlugIn & AddIn,Visual Studio |
初回投稿:2018-01-21 (日) 18:49:35 | 最終更新:2018-01-21 (日) 19:00:16

remote: Invalid username or password.

Posted by muchag | Git |
初回投稿:2017-08-15 (火) 22:47:27 | 最終更新:2017-08-15 (火) 22:47:27

【環境】
SourceTree:2.1.10
経緯

2.1.10 へのアップデートダイアログが出たので
嫌な予感がしながらもアップデートしてみた。

プッシュはおろかプルもできなくなった。

前のアップデートでも壊れたので嫌な予感がしたのよね。。。

エラー文言は下記の通り。

エラー
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v –tags origin master:master
remote: Invalid username or password.
fatal: Authentication failed for ‘https://github.com/[user_name]/[repository_name].git/’
Pushing to https://github.com/[user_name]/[repository_name].git/
解決

試行錯誤は後で書くとして
まずは解決方法。

stackoverflow:Sourcetree remote: Invalid username or password(2017-08-11)

2.1.8.0 のバグだそうで。。。

[ツール]-[オプション] [Git] タブ
[Git バージョン]-[内蔵 Git を更新]

「本当にいいの?」って聞かれるので「いいの!」と答える。
直りました。。。

せっかく4日前の書き込みなのに、
辿り着くまで時間がかかった。 😥

同じことに悩まされている方がいらっしゃるかしらね~。

試行錯誤

なんか色々とやって、メモしておきたいことがあるんだけど
時間がないので、スキップ。

Posted by muchag | Git |
初回投稿:2017-08-15 (火) 22:47:27 | 最終更新:2017-08-15 (火) 22:47:27

同期化(差分を見る)

Posted by muchag | Eclipse,Git |
初回投稿:2015-12-18 (金) 16:13:33 | 最終更新:2015-12-18 (金) 16:20:35

【環境】
Eclipse: Mars.1 (4.5.1) PHP
手法
同期化パースペクティブを開くまで

いきなり [チーム同期化] パースペクティブを開くと、
[データ読み込み] か [同期化] か選べ!
と言われて、困ったw

Git
  1. [Git リポジトリー] ビュー
  2. 当該プロジェクトを開く
  3. [ブランチ] を開く
  4. [ローカル] または [リモート・トラッキング] を開く
  5. 当該ブランチのコンテキストメニューから [ワークスペースと同期化] をクリック
  6. 「[チーム同期化] パースペクティブを開くよ」というダイアログが出るので [はい]
  7. [チーム同期化] パースペクティブが開く
同期化パースペクティブ
ローカルブランチから開いた場合

この場合は、ローカルリポジトリと編集中ファイルの差分を見ることになる。

差分のあるファイルがプロジェクトツリーとして表示されているので
目的のファイルをダブルクリックすれば、差分用の左右に並んだビューが開く。

リモート・トラッキングブランチから開いた場合

この場合は、リモートリポジトリ、ローカルリポジトリ、編集中ファイルの三者の差分を同時に見ることになる。
未試行。

三者同時なので、場合分けをされてツリー表示されるみたい。
この先は試していないので、参考サイト参照。

参考サイト

kakiro-web:EclipseでGitをクライアント用途として使用(EGit)(その2)

Posted by muchag | Eclipse,Git |
初回投稿:2015-12-18 (金) 16:13:33 | 最終更新:2015-12-18 (金) 16:20:35

マージ禁止

Posted by muchag | Git |
初回投稿:2015-12-16 (水) 15:08:37 | 最終更新:2017-09-01 (金) 23:38:30

開発環境と本番環境では、どうしても差分が出る。
その差分への対処に頭を悩ませていたけど
他の情報を検索しているときに、素敵な記事を発見した♪
サボり屋の技術メモ:Gitで内容が異なるファイルをマージ対象から除外(無視)する設定

状況

開発環境で開発用に用意しているファイルを本番環境には入れたくない。

具体例

OpenPNE3 では、開発用に下記開発用ページが用意されている。

api_dev.php
mobile_frontend_dev.php
pc_backend_dev.php
pc_frontend_dev.php

これらは、開発環境では利用をするけど
本番環境に上がったらエライことになる。

対応策

Git の設定で何とかなりそう!

  • 別ブランチ(develop から master など)へのマージの際に除外される
  • 下記はそのまま利用できる
    • develop ブランチでのコミット
    • リモートへのプッシュ
    • リモートから他へのマシンのプル

おおお、これぞ正しく探していた方法。

master 以外のブランチ

feature ブランチや release ブランチを新規作成するときは
マージではなくリセット?(コピー)なので、release ブランチへは入っちゃうのかも。
でも、そこから master へいけないはずだから、理論上は問題ないはず。

master と release

ただ、release は、できる限り master と同一性を保証したいので
今後の行方を見守らなければ。

手法
設定ファイル
  • .gitglobal
  • 各リポジトリの .git/config

いずれかに、記述。

内容
  1. [merge "ours"]
  2.     name = "Keep ours merge"
  3.     driver = true

[merge “ours”] の config設定は固定です。特殊なマージエンジンを有効化しているらしい。

サボり屋の技術メモ:Gitで内容が異なるファイルをマージ対象から除外(無視)する設定

んむ。
まんま書くことにしよう。。。

SourceTree
内蔵 Git の場合
C:\Users\[user_name]\AppData\Local\Atlassian\SourceTree\git_local\mingw32\etc\gitconfig

こちらに記述することで設定可能。

.gitattributes

上記で設定した merge=ours という文字列を、マージしたくないファイル名の後に付ける。

  1. ignore_target_file.txt merge=ours
書式
  • .gitignore と真似る
  • ファイル名
    • .gitignore と真似る
    • ファイル名
      • フルパス
      • .gitignore 同様、ワイルドカードを利用できる
        • web/*_dev.php
結果
develop → master マージ

確かに、上記4ファイルは、develop には存在し、master には存在しない。
.gitattributes は、両ブランチに存在する。

やった~!

develop → origin/develop プッシュ

確かに、上記4ファイルは存在したまま。
ただ、develop ブランチでは、存在するのが当たり前なので
まだよくわからない。
変更するファイルじゃないしな~。

origin/develop → 他のマシンへのプル

無事に .gitattributes ファイルがプルされました。
ん~、こちらも問題があるかどうかは不明。

Posted by muchag | Git |
初回投稿:2015-12-16 (水) 15:08:37 | 最終更新:2017-09-01 (金) 23:38:30

逆引き Git

Posted by muchag | Git |
初回投稿:2015-12-16 (水) 11:43:05 | 最終更新:2016-01-05 (火) 16:34:16

Git の逆引き情報は、結構あるので助かる~。
自分がぶつかった壁を随時追加していきまする。

ブランチを切り替えたら、変更内容が引き継がれている

BranchA で、FileX を編集をして BranchB へ切り替えたら、
FileX の編集内容が引き継がれている。

原因

BranchA での変更をコミットしていないから。

解決策
  1. BranchA でコミットをしてから、ブランチを切り替える
  2. BranchA で Stash してから、ブランチを切り替える
参考サイト

@IT:Gitでbranchを変えるときに、ファイルの変更はどう扱えばいいのか?

Posted by muchag | Git |
初回投稿:2015-12-16 (水) 11:43:05 | 最終更新:2016-01-05 (火) 16:34:16