Category Archives: Git

Memo: Git switch / restore

Git Version 2.23.0よりswitchコマンドとrestoreコマンドが追加されました。両コマンドはこれまでcheckoutコマンドが担ってきた機能を整理し、コマンドとして理解しやすくする目的で追加されています。

switch

switchはブランチの切り替えと新規作成の機能を担います。今までのbranchコマンドとcheckout -bを置き換えます(それぞれのコマンドは今でも有効)。

https://git-scm.com/docs/git-switch/2.23.0

masterブランチへの切り替え

$ git switch master

ブランチの切り替えで、ローカルで変更したファイルに問題が起きた場合には次のようにエラーになります。

$ git switch mytopic
error: You have local changes to 'frotz'; not switching branches.

この場合には、-mオプションで3者間マージにする事ができます。

$ git switch -m mytopic
Auto-merging frotz

-cオプションを使用することで新しいブランチを作成できます(-c--createの短縮形です)。

$ git switch -c good-surprises

任意のコミットから新しいブランチを成長させることができます。たとえば、「HEAD〜3」に切り替えて、ブランチ「fixup」を作成します。

$ git switch -c fixup HEAD~3
Switched to a new branch 'fixup'

restore

復元ソースからの内容を使用して、作業ツリーの指定されたパスを復元します。パスが追跡されているが、復元ソースに存在しない場合は、ソースに一致するように削除されます。

https://git-scm.com/docs/git-restore/2.23.0

インデックス内のバージョンと一致するようにすべてのCソースファイルを復元する場合、次のようにできます。

$ git restore '*.c'

現在のディレクトリ内のすべてのファイルをインデックスの内容で復元するには

$ git restore .

インデックスのファイルを復元して、HEADのバージョンと一致させる

$ git restore --staged hello.c

または、インデックスと作業ツリーの両方を復元できます

$ git restore --source=HEAD --staged --worktree hello.c

感想

どこまでわかりやすくなったのかは疑問だが、今までよりは良いと思う。

Git for Windows 2.23.0リリース

Release Git for Windows 2.23.0 · git-for-windows/git · GitHub

詳細、ダウンロードは一番上のリンクへ。

Git for Windows 2.22.0 リリース

情報源 Release Git for Windows 2.22.0 · git-for-windows/git

機能改善

  • Git v2.22.0への追従
  • Git for Windowsに含まれるawkには、インプレースなどの拡張機能が含まれるようになります。
  • インストーラのexeのバージョン番号がGitのバージョンと一致するように変更しました。
  • OpenSSH v8.0p1へのアップデート
  • Git LFS v2.7.2へのアップデート
  • Msys2ランタイムのアップデート
  • 実験的な試みとして、git add -iとgit add -pの高速化
  • PortableGitにメタクレデンシャルヘルパー、つまり利用可能なクレデンシャルヘルパーのどれを使用するかをユーザに選択させるGUIが付属しています。 これは、サムドライブからポータブルGitを実行するときに、他の人のマシンに資格情報を保存しないようにするのに役立ちます。
  • gawk v5.0.0へのアップデート
  • Git Credential Manager v1.19.0へのアップデート
  • git-flow v1.12.3へのアップデート
  • OpenSSL v1.1.1へのアップデート
  • 特にWindowsパスを処理するように修正されたGNU Privacy Guard v2.2.16が付属しています。
  • cURL v7.65.1へのアップデート
  • Heimdal v7.5.0へのアップデート

バグの修正

  • Windows用のGit for updaterがアクセス可能になりました。つまり、スクリーンリーダーで読むことができます。
  • git update-git-for-windows(つまり、Git for Windowsの自動アップデータ)は、GitHub APIにアクセスできなかったときに正しく報告するようになりました。
  • Git for Windowsのアップデータは、GitHub APIのレート制限には達しません(これは、GitHubに関する限り、多くのユーザーが1つのIPを共有することになる企業のシナリオでは非常に一般的でした)
  • など

詳細、ダウンロードは情報源まで。

GitHub Sponsors

GitHub Sponsors

GitHubが投げ銭システムをはじめるらしい。現在はBeta。登録したユーザーのGitHubサイトに投げ銭ボタンが付いて、投げ銭が可能になるようです。投げ銭の対象となるのはOSSのプロジェクト。

About GitHub Sponsors – GitHub Help

Exploring new frontiers for Git push performance 

In previous posts I’ve talked about performance improvements that our team contributed to the Git community. At Microsoft, we’ve been pushing Git to its limits with the largest and busiest Git repositories on the planet, improving core Git as we go and sending these improvements back upstream.

情報源: Exploring new frontiers for Git push performance | Azure DevOps Blog

Memo.

Visual Studio 2019 Release Candidate リリース関連Blogまとめ #vsjp

VS2019がRCとなりました。関連するMS系のBlogへのリンクを、見つけた限りここにまとめていきます。

ダウンロード: https://visualstudio.microsoft.com/downloads/

※日本語のサイトではまだリンクがありませんが、そのうちに登場すると思われます。
※日本語版および日本のロケール設定になっているWindowsからVS2019 RCを入手したい場合には、現状MSDNサブスクライバダウンロードからのダウンロードが必要です(2019/02/28 10:52現在)。

全体

C#/.NET

C++

日本国内の反応

その他

私家版 Git For Windowsのインストール手順 を更新しました

私の独断と偏見によるGit for Windowsのインストール手順です。 Git for Windowsのダ…

情報源: 私家版 Git For Windowsのインストール手順 | OPCDiary

2.21.0でインストールウイザードの内容に変更が有ったので、更新しました。

Git For Windows 2.21.0 リリース

Release Git for Windows 2.21.0 · git-for-windows/git · GitHub

  • Git v2.21.0への追従
  • インストーラーでのエディタ設定の仕組みのカイゼン
  • Git Credential Manager v1.18.4.0へのアップデート
  • cURL v7.64.0へのアップデート
  • git-flow v1.12.0へのアップデート
  • git archiveは.tgzアーカイブを生成するのにgzipを必要としなくなりました(これは特にMinGitで動作することを意味します)
  • インストールウイザードのデフォルトエディタ設定画面でsublimetextを選択できるようになりました
  • Git LFS v2.7.1へのアップデート
  • その他バグの修正。