You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Gitによるバージョン管理では、従来のSVNなどよりずっと簡単にブランチングやマージができます。さまざまなブランチ戦略やワークフローが可能であり、以前のシステムに比べるとほとんど全てが改善されたと言えるでしょう。しかしGitを利用する多くの組織はワークフローの問題に直面します。明確な定義がなく複雑で、Issue Tracking Systemと統合されていないからです。そこで、明確に定義された最良の実践的方法としてのGitLab flowを提案したいと思います。issue trackingには feature driven development と feature branches を組み合わせます。 他のバージョン管理システムからGitに移行する際によく耳にすることは、効果的なワークフローの開発が難しいということです。この記事ではGitワークフローとIssue Tracking Sys
何か? git commitのオプション--allow-emptyご存知でしょうか? これは、オプションの名前の通り空のコミットの作成を許可するオプションです。 通常変更がないとコミットが作れないようになってるので 空コミットを作るにはこのオプションを指定する必要があります。 add(もしくはrm)もしない(stageに何も載せない)で commitしたときの注意文には登場するので知ってましたが使ってませんでした。 最近、開発フローの中で使い道を思いついて使うようになったので紹介です。 その1 空Pull Request作れる プルリクって、基準になるブランチから変更されたコミットがないと作れないと思ってます。 でも、変更はないんだけどプルリクのcommentに変更の「概要」「目的」「ビジネスインパクト」「どの数値が改善するのか」など色々さきに書いておきたいこととかありますね。 考えてる内
※ 2013-10-10: 暗黙の更新反映等、ブックマークの伝搬に関して、記述を補足 当初は『構造的ブランチ』の説明をしようと思っていたのだけれど、『特に Git 併用ユーザには是非読んでおいて欲しい』と冠していることもあり、Git ユーザにとっての『ブランチ』のイメージに近い『ブックマーク』の説明を先に持ってくることに。 以下、各回で説明する主なトピック: その1: 名前無しブランチ その2: 名前付きブランチ その3: ブックマーク(本エントリ) その4: 構造的ブランチ その5: 名前付きブランチ運用で必要なトピック その6: 名前付きブランチに関するちょっと踏み込んだ話 ブックマークの基本的な機能 Mercurial では『ブックマーク』(bookmark)という機能が使用出来る (1.8 版以降は基本機能として、それ以前は拡張機能としてサポート)。 『ブックマーク』では、特定のリ
伊藤直也さんをゲストに迎えて、GitHub, Pull Request, Hubot, リモートワークなどについて話しました。(6/1 GitHub Kaigiにて収録) Show Notes GitHub Kaigi GitHub Kaigiレポート GitHub 時代のデプロイ戦略 Git - git-request-pull Documentation WEB+DB PRESS Vol.81 pull requestを利用した開発ワークフロー Linus won't do GitHub Pull Requests Rebuild 45: Remembering WSDL A successful Git branching model ) developブランチなんてオワコン Hacker Way: Releasing and Optimizing Mobile Apps for t
長い間待たれてきた git のメジャーバージョンアップがリリースされました。Changelog に目を通し、素晴らしい機能を見つけられることに興奮しています。過去の git リリースの情報をおさらいしたい場合は、バージョンアップのたびにその情報を特集してきた私の過去記事をご覧ください: 1.8.2、1.8.3、1.8.4、1.8.5、1.9。 このブログ記事では、今回のバージョンアップの一部しか取り扱うことしかできません。変更とバグ修正の完全リストをご希望の場合は、Changelog の完全版をご覧ください。 デフォルト設定一部変更: ユーザビリティの改善と混乱を解消 まず最初に、互換性に影響する変更を見ていきましょう。複数の変更がありますが、これらのアップデートは、初心者にとどまらず多くの人々を悩ませてきた誤解を解決するもので歓迎できると思います。これらの変更は、.gitconfig を
git-rerereってなんかレレレのおじさんみたいですが(Reuse recorded resolution of conflicted merges だそうな)、同じような衝突を何度も起こす状況で使うととっても便利なようで、調べつつ、メモ。 Linusが言っている「無駄なマージコミットやめて」を実現するには、rebaseがあればいいよね、と思ってたんだけど、既に公開しているようなブランチとなると、rebaseするわけにもいきません。 でも途中でちょっとだけ本線とマージしてテストしてみたくなったり、マージした後でやり直して再度マージしてみたくなったりも、しがちです。 そうなるとキツいのが、分かりきってるようなコンフリクトの解消。同じようなマージを繰り返すと、同じように衝突してるところを何度も手で直す作業を繰り返しやるハメになって、泣きそうになります。かといってマージを限界まで我慢して一発
相変わらずGit勉強中です。 以下自分用のメモです。 マージでコンフリクトした際に、実際に相違点を見て 手動でマージするのが普通ですが、場合によっては どちらかのブランチの内容を全適用したいときがあります。 バイナリファイルの場合とかがそうですね。 今まで (というか今日まで) バイナリファイルでコンフリクトしたら やり方がわかってなくてオロオロしてました。で、Git使いこなしてらっしゃる 方々のページで勉強。情報を公開してくださっている方に感謝 m(_ _)m Gitでマージしたバイナリファイルがconflictした場合の解決策 http://blog.digital-squad.net/article/151034635.html マージでバイナリファイルがコンフリクトした場合のGitの動作と対処方法 http://blog.ruedap.com/entry/20110720/git_
さて変更を反映するか。 $ git pull remote: Counting objects: 74, done. remote: Compressing objects: 100% (37/37), done. remote: Total 60 (delta 26), reused 55 (delta 21) Unpacking objects: 100% (60/60), done. From xxxxxxxxxx xxxxxx..xxxxxx master -> origin/master Updating xxxxxx..xxxxxx error: Your local changes to 'xxxxxxxxxx' would be overwritten by merge. Aborting. Please, commit your changes or stash them
Frontrend Vol.6 powered by CyberAgent, Inc. http://frontrend.doorkeeper.jp/events/6907 で発表したプレゼン資料です。 こういう資料に対する投げ銭的なのがどうなるのか気になっていたので、もしよろしければ・・・!15円からできるソーシャルカンパサービスだそうですm(_ _)m http://kampa.me/t/dev
Delivering deploymentsUsing the Deployments REST API, you can build custom tooling that interacts with your server and a third-party app. Using the REST API to interact with checksYou can use the REST API to build GitHub Apps that run powerful checks against code changes in a repository. You can create apps that perform continuous integration, code linting, or code scanning services and provide de
ローカルで持っているGitリポジトリをGitHubにpushしてしまいたいなぁ、と思ったのだが、pushする直前にAuthorおよびCommitterとして自分の本名を使っていることに気づいた。そういえば、Gitを使い始めたころはuser.nameに正直に本名を入れていたなぁ…。 そのままでも大した問題はないのだが、ネット上ではidesakuで通すことにしているので、こいつらを修正した。その際、あまり使わないコマンドを使ったので、作業ログなど残してみる。 さて、どうすればよいか。すぐに思いついたのは、git-rebaseを使うことである。 ところで、Gitは全てのコミットにAuthorとCommitterの二つの名前を記録している。これは、オープンソース分野でよくある「パッチを書いた人(Author)と、それをリポジトリにコミットした人(Committer)が違う」ケースに対応するための措
gitリポジトリの使い方を間違えると、非常に重くなってしまうことがあります。 巨大なファイルをコミットしてしまった 関連プロジェクトを1個のリポジトリにまとめすぎた まずは犯人を捜す 以下のコマンドで、コミットログをサイズと一緒に見ることができます。 git log --stat 眺めながら、怪しいコミットがいないか探してみましょう。 また、.git/objectsの中から重たいファイルを探して、バイナリエディタで眺めることでも、怪しいファイルの見当を付けられます。 巨大なファイルをコミットしてしまった gitはソースコード管理システムなので、巨大なファイルを管理するのには向きません。 ちょっとしたwordのドキュメントファイルや画像などは問題ありませんが、100MB以上もあるPSDファイルや動画ファイルなどを入れると、git statusなどの基本的な操作も含めて急激に遅くなってしまいま
先日とある方と開発ワークフローについてお話していて初めて知ったのですがgit-commitには--allow-emptyという空の(親コミットと差分がない)コミットを作成できるらしいですね。 僕が今関わっているプロジェクトでは WIP PR を用いたワークフローを取り入れているのですが、このgit commit --allow-emptyを用いるともう一段階快適なワークフローになるかと思ったのでメモがてら書き留めておきます。 WIP PR って何? Work In Progress Pull Request の略です。 Github に Pull Request (以下、PR と表記)という機能があるのは皆さんご存知だと思います(知らない方はググってください)し、業務で取り入れている方も多いと思いますが、それを作業途中の状態で出すことを WIP PR と呼びます。 作業途中のトピックブラン
ファイル編集がコンフリクトした場合 下記はよくある(忌々しい)コンフリクト画面ですね。 皆さんはコンフリクトのmergeはどんな方法でやっていますでしょうか? vimやemacsで直接編集している方が多いイメージですが、実際開いてみると、下記のように差分が表示されていると思います。 この画面を見ただけではどのようにmergeすればよいのかわかりません。(Objective-CのARC/MRC双方の開発経験がある人は目をつぶってください・・) gitにはこのようなコンフリクトのmergeを支援するgit mergetoolコマンドが搭載されています。 このままEnterキーを押すと下記のような画面が立ち上がります。 画面幅の都合でフォントが小さいのですが、ここで「mergeしたい差分が作られる直前の状態」と「mergeしたい差分」に注目してみます。 この2つを見比べると、@propertyの
Gitクライアントの「SourceTree for Windows」、日本語化された最新版が無償公開、アトラシアン アトラシアンが提供している無償のGitクライアント「SourceTree for Windows」がバージョン1.4となり、無償公開されました。そしてこのバージョンからWindows版も日本語化されたことが、同社エバンジェリスト 長沢智治氏のブログ「Re:WorkStyle」にポストされたエントリ「SourceTree for Windows 1.4 日本語版が公開に」で発表されました。 これまでSoruceTreeのMacOS版は日本語化されていましたが、Windows版は英語版のままでした。同社は「SourceTree for Windows 翻訳にご協力ください!」と昨年から協力を呼びかけており、今回のバージョン1.4からその成果が反映された形です。 SourceTre
追記:たくさんブクマしていただいて驚いております。ブクマコメントだと、やはり git push -f は反則だろという意見がサイレントマジョリティのようですが、そこはそれ、自 己 責 任 追記2(2011/11/07):commit messageをミスった場合について訂正しました。 git rebase -i で直近のコミットを "edit" にして修正すると、 「--amend使えや」と言われるようです。 gitのコミットをしくじった時の対処法について、一覧性の高いまとめがなかったので作りました。正確さは保証できないので、コマンド名ヒントに自分でググって下さい ほかのやり方があるよ、間違ってるよ等のご指摘歓迎です。 派閥別 gitでコミットミスった時のまとめ | ├─ 一人で使ってるよ | | | ├─ 手元に変更を取り戻したいよ(1)(そうだね、add忘れだね派) | |
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く