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

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より実行できます。

Release Git Credential Manager for Windows – 1.9.0-prerelease.1

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-prerelease.1 · Microsoft/Git-Credential-Manager-for-Windows · GitHub

VS2017/TFS Update対応なので、この関連でお困りの方はプレビューですが試してみると良いのでは無いでしょうか。

Visual Studio 2017でのGit新機能

Learn to use Visual Studio, Visual Studio Team Services, Application Insights and Team Foundation Server to decrease rework, increase transparency into your application and increase the rate at which you can ship high quality software throughout the application lifecycle

情報源: New Git Features in Visual Studio 2017 | Microsoft Application Lifecycle Management

push –force-with-leaseがIDEから出来るようになりました。危険ですね。GPかなにかで禁止したいw

一応ちゃんと確認はしてくれます。

その他、コミット間でDiffが取れるようになった、アップストリームを解除できるようになったなどが追加機能。

そしてついにSSH接続がサポートされました!