Enterprise Source Code Management. Open Source. Secure. Unified. Centralized control for distributed repositories. Mercurial, Git, and Subversion under a single roof.
直前のマージを取り消す場合は、 × git reset --hard HEAD^ではなく、 ○ git reset --hard ORIG_HEADとしないと危ない、という話。 「マージ後にgit reset --hard HEAD^で取り消し」は去年の日記でもけっこう使ってるけど、たまたま上手くいっていたからよかったが、ORIG_HEADが正しい指定方法だった。場合によってはちょっと危ない。 マージコミットは複数のparentが記録されるが、mergeコマンドによって先端を移動するブランチ(=カレントのブランチ)を1番目の親としてマージコミットが作成される。 例えば topicブランチで git merge master とした場合に作成されるコミットオブジェクトは、1番目のparentはtopicブランチのハッシュ値で、2番目はmasterブランチのハッシュ値となる。 なので、その後t
ときどき間違うので。 大雑把に言うと、git rebase は「git reset + git cherry-pick × n回 を自動化したもの」と考えられる(適用するコミット群が少なければ、手動でreset & cherry-pickしても良いが、たくさんあるとそうもいかない) 好きな場所にresetして、好きな位置から好きな位置までのコミットを順次適用できる。 つまりコミットを並べ替えたり除外したり、「積み木を積み直す」ようなことが出来る。 git rebase ポピュラーな使い方。 現在のブランチをにreset から見て現在のブランチにだけ存在していたコミットを順に適用 適用されるコミット群は、から見て現在のブランチにだけ存在していたコミット、つまりgit log ..HEAD で出てくるコミット。 以下の例だとA、B、Cのコミットがreset後に適用される予定 A---B---C
id:naga_sawa:20110119:1295420861 git でメールアドレスやら名前やらを間違えて commit してしまったときの修正方法 - ..たれろぐ.. しかしStack Overflowで紹介されていた git-filter-branch(1) ベースの手法の方が楽だった. http://stackoverflow.com/questions/750172 version control - How do I change the author of a commit in git? - Stack Overflow 対象commit範囲 (eg. HEAD~10..HEAD) を全て特定のauthor名に書き換えたいとき(ワンライナー): git filter-branch -f --env-filter "GIT_AUTHOR_NAME='Newname';
チーム開発において、「チケット/Issue」「TDD」「コードレビュー」など、ソースコードの変更に対する効果的な開発フローについてよく考えるのだけど、なんにしてもこのあたりは非常に課題が多く、各社各コミュニティで色々なやり方が模索されているポイントだと思う。 で、まぁご多分に漏れず僕もよく考えるわけだけど、現状その過程で Pull Request こそが非常に効果的なのではないか、と思うので、ちょっとまとめてみようかと思う。 もちろん、言うまでもないようなことだよ、という人もいるかもしれないけど、そういう人がたくさんいると、非常に喜ばしいことだね。 Pull Request とは GitHub でこう呼ばれているので、こう呼ぶことにするが、ここでは、複数のリポジトリ/ブランチ間でのオープンな patch のやりとりのことだと考える。 あと、自分が使っているのが Git なので、ここでは G
John Wiegleyさんの "Git from the bottom up" を翻訳しました。 元PDFはこちらからダウンロードできます: http://newartisans.com/2008/04/git-from-the-bottom-up/ 元記事のライセンスがクリエイティブコモンズのBY-SAであったため、この翻訳もBY-SAとなります。 ライセンスを守って自由にご利用ください。(詳しくは記事内の最初にも書いてあります) 翻訳ミスの指摘や改善の提案等があればブログコメントやTwitter(@oshow)などで遠慮なくどうぞ。 Git をボトムアップから理解する Wed, 2 Dec 2009 by John Wiegley 私が Git を理解しようと調査した時、高級なコマンドの視点から眺めるよりボトムアップ式に理解することが役立った。そしてボトムアップ視点で見る Git が
チーム開発で Git を使ってから半年ちょい位経ちました。 Git 玄人な人たちに囲まれて開発していたおかげで、そこそこ Git 力がついてきました。 そんな中で、ブランチの統合(マージ)についての考え方が大分固まって来たのでまとめます。 まずは結論から。 統合するブランチ → 統合されるブランチ : 統合の為に使うコマンド ローカル(自分用) → ローカル(自分用) : 適当に ローカル(自分用) → ローカル(リモート用) : merge --squash リモート → ローカル(リモート用) : pull --rebase ローカル(リモート用) → ローカル(自分用) : rebase ローカル(リモート用) → ローカル(リモート用) : merge --no-ff ローカル(リモート用)は、リモートドラッキングブランチからチェックアウトしたブランチを指してます。 要は、git
git config --add receive.denyCurrentBranch ignoreをやるとどう危険なのか。一言で言うと「ある人が行った実装を、別の人が無意識に削除してコミットする」という事態を引き起こす。これが危険じゃなくて何なんだ。 まずローカルで実験用のリポジトリを作ってみよう。fという名前のリポジトリを作って、READMEをおく。今は中身は空っぽだ。 $ git init f Initialized empty Git repository in /Users/nishio/tmp//f/.git/ $ cd f f$ touch README f$ git add README f$ git commit -m "initial" [master (root-commit) ce6d7d5] initial 0 files changed, 0 insertions
あなたが git をコマンドラインで使っていようと、SourceTree などのツールから使っていようと; また、コードを Bitbucket にホスティングしていようと、Stash で会社のファイアウォール内側にホスティングしていようと、もしあなたが私のようであれば git がリリースされたときはいつでもパーティーをするでしょう – ウィンク –。 Git ユーザーにとってスムーズなアップグレード方法 git 1.8.3 がリリースされました。もちろん、これは最新バージョンへのアップグレードを意味しています。これは比較的、簡単であるべきです: もし OSX 上で homebrew を使用している場合は単に brew update && brew upgrade git とタイプするだけ (OSX 上で .gitignore を解析中に、直前に発見されたバグにより、 homebrew はア
もし図の表示がおかしかったら、このページの SVGでないバージョンを試して下さい。 SVG の画像処理を中止しています。 (SVG の画像処理を再開) このページのオリジナルは、Mark Lodato さんが執筆した A Visual Git Referenceです。 このページでは、よく使われる git のコマンドを簡潔に図を用いて説明します。 git について少し知識があるなら、このページはその知識を整理するのに役立つかもしれません。このページがどのようにして作られたのか興味があるなら、私のGitHub リポジトリを見て下さい。(日本語訳の GitHub リポジトリ) 内容 基本的な使い方 凡例 コマンドの詳細 Diff Commit Checkout 分離HEADでの commit Reset Merge Cherry Pick Rebase 技術メモ 基本的な使い方 上記4つのコマ
9/18(土) 15:30~ GitとGitHubを体験しながら身につける勉強会(名古屋) : ATND 行ってきました。 なんかいろいろと話すことになったんですけど、あの場で言いそびれたこととか、もっとこう説明してればよかったなぁ、って部分の補足も兼ねたエントリです。 長文注意。 ショートカット git add の話 git add -p/git reset -p の話 リビジョン番号がない話 ブランチの話 git-completion の話、__git_ps1 の話 コミットの指定の話 reset の話 rebase と merge の話 公開したものの rebase の話 stash の話 TortoiseGit、HG、SVNのはなし 全体を通して git add の話 Git と SVN では、add に限らず、同じ名前のサブコマンドでも意味が異なるものがいくつかあります。 その中
ベトナムにおけるBacklog活用のリアル ベトナムにおけるBacklog活用のリアル backlog Backlog の Amazon EKS クラスターを Blue-Green アップデートするためにやっていること Backlog の Amazon EKS クラスターを Blue-Green アップデートするためにやっていること backlog 2023年最も素晴らしいプロジェクトを表彰!Good Project Awardを開催しました 2023年最も素晴らしいプロジェクトを表彰!Good Project Awardを開催しました backlog Backlog開発者が夫婦の不和をなくす家庭管理アプリを作ってみた話 Backlog開発者が夫婦の不和をなくす家庭管理アプリを作ってみた話 backlog 創業からもうすぐ80年の老舗企業!ミートボールでおなじみの石井食品様で、プロジェクト
前回の記事でGitHubとJenkinsを用いた自動デプロイ環境の概要をご説明しました。 GitHubやJenkinsと連携した開発環境作成でのrsyncとの出会い 今回は、その環境を実現するための設定手順を書いて行きたいと思います。 大きく4つの手順があります。 Jenkinsのインストール Apacheの設定 JenkinsとGitHubの連携 自動デプロイ設定 開発環境 ・CentOS 6.2 ・Apache がインストール済み Jenkinsのインストール まずは、Jenkinsのインストール 通常ならば、運用するサーバとJenkinsが動いているサーバを分けるべきですが、サーバコストの都合などで今回は同一サーバ上で動かすことにします。 ApacheサーバとJenkinsサーバが同じport80で待つことはできないので、jenkinsをport:8080で動かすことにします。 また
2013/08/13 GitHubの新デザインに対応するために記事内容・画像をアップデートしました。 こんにちは、ブログ記事を書くのが約2年ぶりのruedapです。 さっそくですが、Pull Request(プルリクエスト)機能を使ったことはありますか? GitHubの代表的な機能で、「pull req」や「PR」とも略されたりして、名前はよく聞きますよね。 この記事は、Gitはいちおう入門済みで、GitHubも使い始めたけど、Pull Request機能はまだ使ったことがない、そんな人に向けた 簡単な方のPull Request の入門記事です。 もう1つのPull Requestについて Pull Request機能の解説としてよくあるのは「他の人のリポジトリを自分のGitHubアカウントにFork(コピー)してきて、変更を加えて、それを元のリポジトリに取り込んでもらうようにリクエスト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く