本特集の第1回「Visual Studio Codeの使い方、基本の『キ』」ではVisual Studio Code(以下、VS Code)の基本的な使い方を紹介しているが、今回はVS CodeからGitを使う方法について見てみることにしよう。なお、本稿はVS Code 1.23をベースとしている。また、基本的にはWindows版/64ビットのVS Codeで動作を確認している(macOS版でもざっくりとした確認はしている)。 VS CodeでGitを活用する:[ソース管理]ビュー VS Codeは標準の状態でGitソース管理マネジャー(Git SCM)拡張機能を含んでいる。ただし、事前にGitをインストールしていることが前提となる。インストールしていない場合には、次の画面のようなメッセージが表示されるので、Gitのインストール/設定を行っておこう。
論理性の高い commit を作る方法 git rebase -i コマンドを活用する。 rebase -i を使用することで commit の 結合/分割/書き換え/順序入れ替え が可能。 以下では一番使うであろう結合(squash)について紹介します。 $ git log --oneline bfc2a57 (HEAD -> master) TOP画面の実装 e84e22e エラーメッセージのtypo修正 ba76419 エラーメッセージの追加 こんな感じの commit log があったとします。 よくありがちなケースだと思いますが typo修正だけのコミットなんてまとめてしまいたいですよね。 そこで git rebase -i の出番です。 $ git rebase -i HEAD~3 # HEAD は @ とも書ける、便利 $ git rebase -i @~3 上のコマンドでH
「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化 ソフトウェアの開発プロセスにおいて、「Jenkins」はビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られています。 そのJenkinsの派生プロジェクトとして、「Jenkins X」が発表されました。Jenkins Xは、Git、Docker、Kubernetesの環境を前提とすることで、Jenkinsの設定、運用などを大幅に自動化し、より簡単な導入と運用を実現するものです。 Jenkins Xは、Git/Docker/Kubernetes環境に特化 オリジナルのJenkinsは汎用的なビルドやテストの自動化ツールとして、さまざまな環境やツールと連係できるように作られています。そのため柔軟なコンフィグレーションが可能になっていますが、一方でそれが導入や
Gitを理解するにはGitの中身の知るのが良い、 と天の声が聞こえてきたので学習がてらまとめることにしました。 この記事は個人メモ的な記事です。 基本的に既出情報なのでタイトルをみてピンと来ているかたは読む必要がありません。 ※この記事を読むタイミングとしてはGitの基本的な操作と概念をある程度理解した あとが良いと思います。曖昧な基準ですが。 Gitの2種類のコマンド 配管( Plumbing ) コマンド 磁器( Porcelain ) コマンド Gitの中身 Gitオブジェクト blob オブジェクト tree オブジェクト commit オブジェクト tag オブジェクト 参照 .git配下のファイル、ディレクトリの説明 HEAD ファイル index ファイル objects ディレクトリ refs ディレクトリ 関連資料 Gitの2種類のコマンド Gitの中身はキーバリュー型の
(※3月18日追記:当初「SSH公開鍵の管理機能」において、GitBucketを「×」としていましたが、SSHアクセス機能を機能を有効にすることでSSH公開鍵の管理機能も利用できるとのことで、「○」に修正しました) GitLabおよびGitBucketと、RedmineおよびTracとの大きな違いとして、フォークやマージ/プルリクエスト機能をサポートしているかどうかがある。これらの機能を利用したいのであれば、GitLabやGitBucketが候補となるだろう。 いっぽう、Redmineはカレンダー機能やガントチャートと言ったプロジェクト管理機能が充実しているのが特徴だ。また、Tracはシンプルなユーザーインターフェイスや、プラグインによるカスタマイズ性の高さがある。フォークやマージ/プルリクエスト機能を利用しないのであれば、プロジェクト管理機能が充実しているRedmineやTracは十分な
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Gitのコミット単位で動的にDockerイメージをデプロイするプロキシサーバpoolというソフトウェアがあります。 poolとは poolは、WebアプリとDockerfileをGitで管理している場合に、コミットidをサブドメインとして( http://<commit-id>.pool.dev/ )poolにアクセスするだけで、そのGitレポジトリのコミット時の状態でWebアプリのDockerイメージをデプロイし、Webアプリのポートへとリバースプロキシして、Webアプリのレスポンスを返します。もちろん、コミットidをキーに複数の状態にどんどんアクセスできます。(mod_mrubyのユースケースを調査していてたまたま見つけました)。 このp
peco と alias -g で git に便利革命がおきるので、ぜひご活用ください。 記事の一番下に設定のまとめがあります。 目録 便利革命1: git commit → g c 便利革命2: git checkout feature/something-great → g o B 便利革命3: git push -u origin feature/something-great → g puu R B 便利革命4: git remote add origin git@github.com/user/repo → g r add origin H 便利革命5: git checkout -b feature/something-great remotes/origin/feature/something-great → g b LR めんどいコマンド1: git commit Befo
来年は、インプットあたりのアウトプットの増加を目指しています。具体的なアウトプットとしては、ブログを書くこともその1つですし、公開・非公開を問わずに効率的にドキュメントを書いていくこともあります。その中で効率的にドキュメントを書くには、バージョン管理を含めドキュメントを管理する仕組みが必須だと思います。以前、原稿を書いていた時は、Git+MS Wordで書いていました。版管理出来るという点では良いのですが、Wordということで執筆出来る端末も限定され、またフォーマット変更もしづらいので改善を考えていました。 そんな中で、IT系の物書きの人たちの間でReVIEW良いよという話を何度も聞いたので試してみようと思いました。一方で、記述のデファクトは今後はMarkDown基本になると思うのでそちらもマスターしたいと考えています。Twitterで何気なく呟いたら、@masawadaさんにmd2rev
昔、最近commitされたブランチをanythingライクに絞り込んでcheckoutする、というものをzawの時もpercolの時も実装していた。 zawを使って最近更新したブランチをチェックアウトする - $shibayu36->blog; ターミナル版anything的なpercolをzawの代わりに試してみた - $shibayu36->blog; 最近はpecoを使うようになったので、ほぼコピペで再実装した。 設定方法 git-recent-branches.zshのようなファイルを用意し、peco-git-recent-branchesとpeco-git-recent-all-branchesを実装する。 function peco-git-recent-branches () { local selected_branch=$(git for-each-ref --forma
皆さんはプロジェクトのリソースとしてエクセルの xlsx ファイルを使う事があると思います。 何てったって事務職の人ですら楽々使えるスーパー優れた UI なので、 web の管理画面とかを作り込むよりもエクセルでシート作ってもらってしまった方が早いケースも多いんです。現実の世界では。 で、普通の人は TSV にするだの CSV にしてもらうだのすると思うんですが、一方的にデータ貰うだけなら良いんだけど、相手とやり取りする時にはどうしても xlsx ファイル経由とかにしないと相手がこまる!やっぱりエンジニアのエは優しさのエだから相手に優しくしないとだめです。 で、 xslx ファイルでエンジニア以外の人とデータやり取りするとやっぱり、バージョン管理したくなるのが人情です。 でも xslx ファイルはバイナリファイルなので git diff とかが残念です。。。 って事で作っちゃいました。 h
Github (含むEnterprise) で開発をしているなら、Github Kaigiでも紹介されていた git-pr-release が便利です。自分の会社ではアプリのリリース前にQAを実施しているのですが、QAを始める前にどの機能がリリースされるのかをリストアップし、それをGoogleスプレッドシートに入力する作業が繁雑でした。 git-pr-release を使うと、これをリリースPull Requestに集約して自動化することができます。リリースPull Requestとは以下のようなものです (スクショはこのツールのPR用に作ったダミー)。 具体的なリリースまでの作業手順は以下のようになります。 開発ブランチにリリースする機能のPull Requestをmergeしていく git-pr-release を実行 merge済みのPull Requestの情報を集めてチェックリス
Git2.0がまもなくリリースされるようです。 Git v2.0 Release Notes リリースノートをもとに、一足早く新機能と変更点の紹介をしてみます。 (各機能についてはまだ動作確認しておりませんので、ここがおかしいなどあればご指摘ください) 引数なしのgit pushが安全になりました。 When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). In Git 2.0, the default is no
Gitのリポジトリ内で作業していて,深い階層からリポジトリのトップレベルに行きたいとき,../を何度も打って一番上に行くのはめんどう. % pwd /Users/fkd/co/hatena-bookmark-xul/chrome/content/browser % cd ../../../ % pwd /Users/fkd/co/hatena-bookmark-xul目視で../../とか打っていると間違いが起きそうなので,こういうのはよくない. トップレベルにcdするためのコマンドを作った. http://gist.github.com/300270 function u() { cd ./$(git rev-parse --show-cdup) } これで,uと打つだけでトップレベルまで行ける.Gitのリポジトリでないとき,何も起きない. 追記 id:tyruさんが改良してくださいまし
皆さん、tigコマンドを活用していますか? tigは、コンソール上で使えるgitブラウザです。実はずっと、ただのきれいなgit logだと思っていたのですが、本当はそんなことはありません。かなり使えるやつなのです。 インストール ソースコード: https://github.com/jonas/tig インストール方法: https://github.com/jonas/tig/blob/master/INSTALL.adoc この辺りを参考にしてみてください。詳細は割愛します。 基本の使い方 この状態の差分を扱っていきます。いつものこれだとこんな感じ。 git logが素敵にビジュアライズされてます。この画面をmain viewといいます。 ここでエンターを押すと、下半分に差分の詳細(diff view)が表示されます。 下矢印で、Unstaged changesの差分を見てみるとこんな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く