Gitの仕組みを学び、Rustで実装する内容をまとめました。 Gitの仕組みの部分は無料公開されています。

Content-Length: 371238 | pFad | http://b.hatena.ne.jp/a2ikm/git/
Installing a Gem From a Git Repository Subdirectory using Bundler Update (2018-05-07): My PR to bundler-site has been accepted so the :glob option can now be found on the official Bundler Docs. 😊 Sometimes projects, such as the Cloud Foundry Copilot service include their Ruby client gems within subdirectories of the main project itself. While under active development, it can be useful to install
I have two branches. Commit a is the head of one, while the other has b, c, d, e and f on top of a. I want to move c, d, e and f to first branch without commit b. Using cherry pick it is easy: checkout first branch cherry-pick one by one c to f and rebase second branch onto first. But is there any way to cherry-pick all c-f in one command? Here is a visual description of the scenario (thanks JJD):
備忘録。 具体的な例 先日に登録されたissueを例にしてみる。 github.com 再現コードを少し書き換える v5.2.3と6.0.0.rc2でsqlite3の依存周りでエラーが出たので、Gemfileのあたりを少しだけ弄った。 # frozen_string_literal: true require "bundler/inline" gemfile = File.read(File.expand_path("Gemfile", __dir__)).strip version = gemfile.lines.find { |line| line.include?('sqlite3') } .then { |sqlite3_line| sqlite3_line.strip.split(',').last.delete('"') } gemfile(true) do source "h
任意のコミットを無視して git blame してくれるやつ。いわゆるメガコ ミットを無視した blame をしたいときに使える。 なぜかセットアップにひどくハマったのでメモ。 セットアップ方法# git clone してくる $ git clone https://github.com/google/proto-quic.git 以下のように、パスの通ったディレクトリに git-hyper-blame という 名前のシンボリックリンクを作る。git のサブコマンド hyper-blame が 利用可能になる $ ln -s ~/src/github.com/google/proto-quic/depot_tools/git_hyper_blame.py ~/bin/git-hyper-blame ※ Python は macOS Sierra 付属の /usr/bin/python (P
tl;dr 先頭 8000 バイト以内に NUL が有ったらバイナリファイル。 Gitの実装 Gitの内蔵diffは FIRST_FEW_BYTES だけ検索するようになっている。 https://github.com/git/git/blob/6e0cc6776106079ed4efa0cc9abace4107657abf/xdiff-interface.c#L187 #define FIRST_FEW_BYTES 8000 int buffer_is_binary(const char *ptr, unsigned long size) { if (FIRST_FEW_BYTES < size) size = FIRST_FEW_BYTES; return !!memchr(ptr, 0, size); }
コミットメッセージにはどのような情報を残すべきだろうか?はじめにこの記事ではGitのコミットメッセージの重要性と良いコミットメッセージの書き方を説明します。いままで良いコミットメッセージについて考えてこなかったかたも一度立ち止まって考えてみてくれると嬉しいです。 対象読者GitやGitHubを業務で使っている人「良いコミットメッセージ」をあまり意識しない人目次Gitを使ったソフトウェア開発で、なぜコミットメッセージが重要なのか?コミットメッセージの書き方の1例を紹介まとめGitを使ったソフトウェア開発で、なぜコミットメッセージが重要なのか?ソフトウェア開発において、良いコードとはどんなコードでしょうか? 私は「 他人が読みやすく、理解しやすいコード」だと考えています。ソフトウェアにバグは必ず出ます。そのバグを修正する時間を最短にできるような、読みやすい、理解しやすいコードが良いコードだと思
■ Ruby 開発者会議 9 月 今月は恵比寿のクックパッドオフィスで開催でした。ちょっと到着が遅れてしまって、14:30 過ぎから参加。 https://bugs.ruby-lang.org/issues/14981 持っていったお題としては Misc #14956: Remove staled branches in svn repository という小粒なやつで、svn の branches に置かれている「これ何?」というものを消しましょうというやつ。今後 git に migration するにあたって、ブランチをバンバン使うようになったら、「これ何?」のコストが上がるので今のうちに消して置くというのが目的。 対象となっているブランチについては、tags に放り込むなどしてチケット自体は close した。svn で tags にするのは svn move という単なる移動という
イメージ こんな感じで動的にブランチ一覧をプルダウンで表示させる やりかた Extended Choice Parameter Pluginを使います プラグインをインストールしたら、ビルドパラメータで、Extended Choice Parameterが選択できるので、以下のようにparameter typeにSingle Selectを指定します Choose Source for Valueに以下のようなGroovy Scriptを指定入力すれば完成です。 #!/usr/bin/env groovy import hudson.model.* import jenkins.model.* def listBranches() { // target repo url def gitURL = "https://github.com/jenkinsci/jenkins.git" //
GPGとは GNU Privacy Guard (GnuPG, GPG)とは、GPLに基づいた暗号化ソフトのことです。GPGで作成した鍵を使用し、暗号化・復号化をおこなうことができます。 gitやGitHubではGPGを使用した署名に対応しており、コミットやマージ、タグを作成する際に署名することができます。署名することによって、その内容が信頼できるものか判断することができます。 GitHubでは署名付きコミットにバッジが表示されるようです。 GPGのインストール 現在GPGには3つの系列が存在します。stableである2.0系を使うのが良さそうです。 "stable" (2.0): 現行安定版。一般の使用に適している。初版リリースは2006年11月13日[8]。 "modern" (2.1): 最新の開発系列であり、楕円曲線暗号など新機能を実装している。十分な安定性が確認されたら 2.0
github.com 1. PGP鍵が必要です。作ります。 2. Gitの、いつもSSH鍵をアップロードしている画面の下のほうに、PGP鍵アップロードするとこがあるので、します。 3. https://help.github.com/articles/signing-commits-using-gpg/を読みます 4. commitしてpushします 5. unverifiedを受けます。どうやらPGP鍵のemailと、git configのemailが一致している必要があるようです。 6. 今のnoreply github emailを使うのを通したいので、noreply email用にPGP鍵を作ることにしました。 7. 鍵をアップロードします。 8. commitします。pushします。 9. verified !!
いつも忘れるので、備忘録として書いとく。 特に、addしたけどreset --hardで消した時にいつも忘れる。 ブランチから辿れないobjectを表示する方法 fsck --lost-foundで一覧を表示できる。 $ git fsck --lost-found Checking object directories: 100% (256/256), done. Checking objects: 100% (88/88), done. dangling commit 0ae497f3455bb72de64ba5618f9dc6db32d449d0 dangling commit 15a084122e04c4219806059d3ac6b7a79bca9a29 dangling blob 23d0df1dbb0881569f1f7b5fe72c758e7ea5159d dangling
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
Fetched URL: http://b.hatena.ne.jp/a2ikm/git/
Alternative Proxies: