「Git」カテゴリーアーカイブ

Git for Windows 2.12.2(2) リリース

git – A fork of Git containing Windows-specific patches.

情報源: Release Git for Windows 2.12.2(2) · git-for-windows/git · GitHub

Git本体は変更ありませんが、周辺ツール等が変更されています。

  • ポータブルGitの自己展開圧縮方法の変更
  • Git LFSを2.0.2へアップデート
  • MSYS2ランタイムをCygwin 2.8.0ベースへアップデート
  • セットアップウイザードでGit LFSの使用/不使用のチェックをセットアップウイザードに追加
  • Git Credential Manager v1.9.1へアップデート。これでBasic認証での不具合が改善されるはず。

ダウンロードは上情報源よりお願いします。

CodePlexは12/15で閉鎖

情報源: Shutting down CodePlex | Brian Harry’s blog

2006年に始まったCodePlexですが、12/15で閉鎖と言うことになったようです。

CodePlexの立ち上げは不器用ながらもMSがOSSとそのコミュニティに取り組み始めたことを象徴していましたが、その役割が終わったと判断されたようです。

閉鎖の段階で全てのコンテンツがバックアップされ、JSON API等含めて閲覧可能な状態には置かれるので、即見れなくなるとか、ソースやバイナリが取得できなくなると言うことでは無いようです。

各プロジェクトの引っ越し先としてはGitHubへの以下の移行手順書が用意されているほか、Visual Studio Team Service、BitBacketなどが上げられています。特にHgを使われていた方はBitBacketへの移行がスムーズだと思います。

Migrating to GitHub – CodePlex Information and Discussion

そして一方GitHubは。。。

Welcoming CodePlex projects to GitHub

全く抜け目なしとなっています。

Git for Windows 2.12.1リリース

情報源: Release Git for Windows 2.12.1 · git-for-windows/git · GitHub

主な変更点

  • Git v2.12.1への追従
  • MinGitのNuGetパッケージを追加
  • Git LFSをバンドル
  • Git Credential Managerを1.9.0にアップデート
  • HTTPSでのフェッチ、プッシュ時にOpenSSLではなく、WindowsのSecure Channelを選択可能に。(その場合Windows Credential Storeの証明書を使用するようになる。)
  • Git Flowをv1.10.2にアップデート
  • msys2ランタイムをCygwin Runtime v2.8.0にリベース

その他バグフィックスです。

詳細、ダウンロードについては一番上の情報源のリンク先をご確認ください。

SHA-1 collision detection on GitHub.com

情報源: SHA-1 collision detection on GitHub.com · GitHub

GitHubでのSAH-1コリジョンへの対応と、Git自体でも対応しようとしていることについてのまとめ。

Gitはオブジェクトのハッシュ生成にSAH-1を使用しているため、攻撃される可能性がありますが、それに対する対応方法も有り、それをGitHubのサイトに適応するだけで無く、Git本体に適応するよう働きかけていくとのこと。

Git for Windows で漢字等非ASCII文字が文字化けする場合

情報源: Broken cyrillic output in cmd · Issue #1087 · git-for-windows/git · GitHub

Git for Windows Ver.2.12.0のログ表示やdiffコマンドで非ASCII文字が文字化けするって話ですが、私の環境ではなんでで無いんだろうと思ったら、結局いつものLANG環境変数の話でした。

私家版 Git For Windowsのインストール手順には書いていますが、msysのライブラリ入れ替えのタイミングなどでよく起きがちですし、lsコマンド等付属Unixコマンド類の文字化け対応もあるので、LANG環境変数は自分で設定しておく方が良いです。

恒久的に設定するにはGUIから設定するか、以下のようにSETXコマンドで設定します。

バッチファイルなどで一時的に設定するには、コマンドプロンプトから以下のように設定します。

PowerShellの場合には以下のように設定します。

Release Git Credential Manager for Windows 1.9.0

Git-Credential-Manager-for-Windows – Secure Git credential storage for Windows with support for Visual Studio Team Services and GitHub multi-factor authentication.

情報源: Release Git Credential Manager for Windows 1.9.0 · Microsoft/Git-Credential-Manager-for-Windows · GitHub

VS2017への対応、Askpass経由でのSSH対応(TFSへの対応だね)、設定オプションの環境変数対応などなど。

Git For Windows 2.12.0以上、.NET Frameworkのインストールが必要です。

Git for Windowsではこのバージョンが含まれることになると思いますが、まだちょっと出そうにないので、VS2017やTFSでSSHを使う可能性のある人はインストールしたほうがいいかもしれません。

Visual Studio 2017でGitリモートリポジトリの登録とpushまでの流れ

Visual Studio 2017のGitクライアント機能では、Team Foundation Service/Server及びGitHubについては標準的にサポートされており、リモートリポジトリの登録は難しくありません。しかしながら、bitbacketやGitLabや自分たちで立てたリポジトリなどをリモートリポジトリとして登録する方法は、わかりやすい形でのGUIサポートがありません。

以下に手順を示します。どうしてもGUIでできない箇所が1カ所あり、そこはコマンドプロンプトでの作業になります。

まず、チームエキスプローラーにて、設定タブを表示させます。

設定タブで上図赤枠のリポジトリの設定を選択します。

リポジトリの設定画面の中で、上図赤枠のリモート-追加を選択します。下図のリモートの追加ウインドウが表示されます。

名前は最初はoriginで良いと思います。変えたい場合はその名前を入力します。フェッチ欄にはリモートリポジトリのURIを入力します。入力が終わったら保存をクリックします。これで、下図の様にリモートリポジトリが追加されます。

これで、チームエクスプローラからpushしたいところですが、これだけだとリモートリポジトリがupstreamとして登録されていないので、pushできません。

仕方が無いので、upstreamの登録と、初回のpushだけはコマンドプロンプトから行います。

コマンドプロンプトを開いてソリューションへ移動します。(Open Command Line拡張をインストールしておくと楽です)

以下の要領で初回のpushとupstreamの登録を行います。リモート名(以下のorigin)、ローカルのブランチ名(以下のmaster)は適宜ご自身の環境・設定に合わせてください。また、bitbacketなど認証が必要なサーバー(リポジトリ)はGit Credential Managerのサインイン用のウインドウが表示されると思います(初回接続時のみ)

これで、ローカルのmasterブランチがoriginにpushされ、upstreamの設定も終わったので、次回からpush, pullともにチームエクスプローラのGUIより実行できます。