Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

npmコマンドでよく書くパターンにGitで固定のファイルをステージしてコミットするというようなものがある。なんらかの処理を行うメインコマンドのpostコマンドでよくやる。まれにその固定のファイルが更新されないこともあり、その時コミットしてしまうとcommitサブコマンドが正常に(終了コード0で)終了しない。これを避けるためにはステージされることで更新があったかどうかをチェックする必要があることになる。それはdiffサブコマンドの--exit-codeオプションを使うとうまく書くことができる。 例えば更新されているかもしれないfooというファイルをステージして、更新があった場合にのみコミットしたい、とすると以下のようにコマンドをつなげれば良い。 $ git add foo && git diff --cached --exit-code --quiet || git commit --mes
git push --force-with-leaseはgit push --forceと違って、他の人がpushしていたら良い感じにコケてくれるので安全、という話を聞き、さっそく使っています。 git push --force でなく git push --force-with-lease を使う - valid,invalid --force considered harmful; understanding git's --force-with-lease - Atlassian Developers ただ、ちょっとだけ注意しないとな、と思ったところがあるので書き残しておきます。 前提 git 2.6.4で確認 最後にfetchしたタイミングでの一致を保証する man git-pushを見るとこんな記述があります。 --force-with-lease alone, without
Using Version Control Hooks Usage with the pre-commit git hooks framework Flake8 can be included as a hook for pre-commit. The easiest way to get started is to add this configuration to your .pre-commit-config.yaml: - repo: https://github.com/pycqa/flake8 rev: '' # pick a git hash / tag to point to hooks: - id: flake8 See the pre-commit docs for how to customize this configuration. Checked-in py
git には、作業途中の変更をいったん横に退けておける git stash という便利な機能があります。この git stash 機能について、コマンドラインと SourceTree での操作方法を紹介します。 どんなときに便利なの 1. 割り込み作業が発生したとき なにかの作業中、急ぎで別のブランチを操作したり、サーバから pull しなきゃいけない割り込み作業が発生したりします。やりかけている変更がコミットできる状態なら、コミットしてブランチ移動なり pull なりすれば良いのですが、 まだ中途半端な状態なので、コミットはしたくない。 でも今の修正内容は捨てたくない。一時的に取っておいて、あとで戻してきたい。 そんなときに git stagh が便利です。git stash を使えば、 途中状態の変更を、stash 機能で横に退ける 作業ディレクトリは、きれいな(変更のない)状態になる
phi I'm a Game Programmer and Frontend Engineer passionate about programming education. Math / C / C++ / C# / JavaScript / HTML5 / CSS3 / Python オレの Advent Calendar 2015 - Adventar の 12 日目です. git を使っていると空ディレクトリを管理したいってことよくあると思います. 一時(tmp)ファイル や ログ(log) ファイル用のディレクトリなんかがそうですね. 実は, git は空ディレクトリは add できない仕様みたいです. ですが, .gitignore を上手く使うことでそれっぽいことができるようになります. 今回はその方法を紹介したいと思います. 1. ".gitkeep" という空ファイルを配
先日とある方と開発ワークフローについてお話していて初めて知ったのですがgit-commitには--allow-emptyという空の(親コミットと差分がない)コミットを作成できるらしいですね。 僕が今関わっているプロジェクトでは WIP PR を用いたワークフローを取り入れているのですが、このgit commit --allow-emptyを用いるともう一段階快適なワークフローになるかと思ったのでメモがてら書き留めておきます。 WIP PR って何? Work In Progress Pull Request の略です。 Github に Pull Request (以下、PR と表記)という機能があるのは皆さんご存知だと思います(知らない方はググってください)し、業務で取り入れている方も多いと思いますが、それを作業途中の状態で出すことを WIP PR と呼びます。 作業途中のトピックブラン
WIP PR ワークフローとは 通常の開発では future ブランチを切り, commit を重ねていき, 最後に push し PR (pull request) する流れがある. しかしこれだと他の開発者に作業の状態がわかりにくい. WIP PR では PR に WIP (work in progress, 作業途中の状態) であることを明示し, [WIP] ${PR 名} で PR を出しておく. その後は定期的に push しておき, PR ページを見れば作業状態が一目で分かるようにする. 利点 他の開発者の作業状態が確認しやすい 大きい実装のとき, 実装中にレビューリクエストなどできる 実際の方法 しかし, GitHub では commit がない状態で PR を送ることはできない. commit を一度しないと PR できないというのは WIP PR ワークフローを実践する上
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く