タグ

Gitに関するscrewboundのブックマーク (248)

  • Gitを使った開発・運用フローの紹介

    私の所属している会社では、2年程前にバージョン管理システムをSubversionからGitに移行し、現在まで開発フローを試行錯誤してきました。ようやく形になってきたということで、守秘義務に接触しない程度に紹介&考察していきたいと思います。 形になってきたとはいえ、まだまだ試行錯誤中ですので色々なツッコミは大歓迎です。 現在の開発フローの俯瞰図# 現在の開発フローを俯瞰してみると大体下記図のような感じになっています。途中で図を書くのが面倒になった都合上、Jenkinsさんが1人しか居ませんが、実際はmasterブランチの他にreleaseブランチも監視してもらっています。 以降この図を元に話を進めていきたと思います。 Gitoriousを利用して自由に開発# GitoriousというGitHubに似たサービスがあります。このGitoriousはオープンソースとしても公開されていますので社内に

    Gitを使った開発・運用フローの紹介
  • A Visual Git Reference

    Available languages: English 日

  • Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineering

    こんにちは。インフラの sotarok です。 先日から Git 関連の話をしている通りですが、社内で Git を使い始めています。 今日は、Git を使った日々の開発〜リリースまでのフローや、そうしたものの運用と、それをサポートするために作ったツール git-daily の紹介をしたいと思います。 ソフトウェア開発とウェブ開発の違い いやウェブ開発も広義のソフトウェア開発なのですが、ここでいうソフトウェア開発とは、クライアントアプリケーションやライブラリのようなものを指すと思ってください。 実際、ウェブ開発をしている方は感じていることだとは思いますが、両者の開発フローはかなり異なるものです。もちろん社風や開発の方針等によって色々あるとは思いますが、主に次のような特徴が挙げられると思います: ソフトウェア開発 アプリケーションはクライアントで動作する リリース間隔は比較的長く、次のバージョ

    Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineering
  • Git Cheatsheet

    stash workspace index local repository upstream repository status Displays paths that have differences between the index file and the current HEAD commit, paths that have differences between the workspace and the index file, and paths in the workspace that are not tracked by git. diff Displays the differences not added to the index. diff commit or branch View the changes you have in your workspace

  • もっとよいGitチートシート - 西尾泰和のはてなダイアリー

    世の中にGitのチートシートはいくつかあるけど「Gitを知らない人に渡して最初に読んでもらうのに適したもの」が見つからない。チートシートじゃなくてチュートリアルと呼ぶべきかもしれないけど、とにかく印刷してA4で1枚になるくらいの資料が必要だ。Gitに触れた技術者が軒並み同じ落とし穴でコケるのは正しい状態ではない。「Gitには、indexっていう『コミットする前にワークツリーで行った変更のうちのどの部分をコミットするか整理するための場所』があるんだよ」とか「git revertはsvn revertと違っていきなりリポジトリに変更を加えるから気をつけて」とか最初に言ってもらえればもっとスムーズに進めたはずだ。 というわけでどういうチートシートが必要かに関して考えてみる。 登場人物 http://www.ndpsoftware.com/git-cheatsheet.html このチートシートが

    もっとよいGitチートシート - 西尾泰和のはてなダイアリー
  • Git初心者が絶対に覚えておくべきコマンド - idesaku blog

    Gitの使い方を覚えるにあたって、まず知っておきたいのは――git-cloneだのgit-commitだのは当然として――「操作をミスったときにどのように回復するか」である。それを実現するのは、次の3つのコマンドだ。 git-commit --amend git-reset git-reflog git-commit --amend あるファイルをコミットしたとしよう。 $ (edit...) $ git commit -am 'メッセージ生成処理を実装したよ。'しかし、しばらくして彼は気づいた。 def create_massage(param) ...typoしてる!massageじゃない、messageだ!マッサージを作ってどうする! 慌てるな。まずは直してステージに上げるんだ*1。 def create_message(param) ...$ git add .そして…。 $ gi

    Git初心者が絶対に覚えておくべきコマンド - idesaku blog
  • GitDocumentation - Git SCM Wiki

    OBSOLETE CONTENTThis wiki has been archived and the content is no longer updated. Please visit git-scm.com/doc for up-to-date documentation. Git Documentation Git glossary (GitWiki version, HTML version, source via gitweb) Git manual page - Online version bundled with Git. (The information displayed when using the command man git or git help) Git User's Manual - Online version bundled with Git A t

  • Mac OS X で gitosis « 鵺的:想空間

  • tmp コミットのための独自サブコマンド git-now - アジャイルSEを目指すブログ

    追記[2011/09/26] git-now のurlをgistからgit-hubに変更しました。 追記[2011/10/17] ライセンスはGPLです 一時的なtmp コミットや、簡単なログメッセージのコミット(push 前にログメッセージを整えています)を作るとき、今まで↓みたいな事をしていました。 で、これを使いながら「〜〜も出来たら便利かもー」とかつぶやいていたら、隣の人が一晩で(ry と、そんな感じで出来たgit-now の紹介 簡単な実行例 コマンド $ git now これで、版管理されているファイルのtmp コミットが作成できます。 コミットメッセージ例 [from now] Tue Dec 7 23:00:24 2010 diff --git a/hello.py b/hello.py index 51cff9f..9e84b86 100644 --- a/hello.p

    tmp コミットのための独自サブコマンド git-now - アジャイルSEを目指すブログ
  • モデルから知るGit

    Git is a distributed version control system invented by Linus Torvalds that stores data in a file system made up of snapshots of a project over time. It allows developers to work collaboratively by tracking changes to files and coordinating code changes between team members or branches of development. Git uses a client-server model with local repositories that can be pushed to and pulled from remo

    モデルから知るGit
  • subversionを使っていた人がgit便利だなと感じたこと - (゚∀゚)o彡 sasata299's blog

    2009年05月25日05:42 Git subversionを使っていた人がgit便利だなと感じたこと 最近は subversion も使いますが、git を使うことも多くなってきました。モジュールの配布なども git のものが多くなってきて、そろそろ git を使えるようになっておかないとまずい気が・・。ってことでちょっと勉強してみたのでまとめてみます。 そもそも「 subversion と git は何が違うの?」っていう話ですが、主な違いは以下の通りです。【参考】に挙げたサイトが分かり易いと思います。 subversion ・単一リポジトリ(リポジトリは一つだけ) ・commit したら即反映 ・add するのは新規にファイルを追加するときだけ ・リビジョン番号は数字 ・考えるのは『ローカル( checkout した場所)』と『リポジトリ』の2つだけ git ・分散リポジトリ(マス

  • git Aliases

    OBSOLETE CONTENTThis wiki has been archived and the content is no longer updated. Please visit git-scm.com/doc for up-to-date documentation. With aliases, you can avoid typing the same commands over and over again. Aliases were added in Git version 1.4.0. Table of contents: Introduction To show how to use aliases, suppose you wish you could write git ci instead of git commit. You can achieve this

  • Sign in for Software Support and Product Help - GitHub Support

    Access your support options and sign in to your account for GitHub software support and product assistance. Get the help you need from our dedicated support team.

  • git submodule - みずぴー日記

    http://d.hatena.ne.jp/woremacx/20080308/1204986198のように、gitで外部レポジトリを扱えるようにする方法。 外部レポジトリの追加 git submodule addすると、外部レポジトリをサブモジュールとして取り込めるようになります。 # cloneする $ git clone git://example.com/repos/private/ $ cd private # git://example.com/repos/external/を追加する $ git submodule add git://example.com/repos/external/ # commitしておく $ git commit -m "Add submodule" $ git push 外部レポジトリ内での作業 外部レポジトリで作業したときは、そこでコミットする

    git submodule - みずぴー日記
  • git-submoduleで外部のリポジトリを扱う。 - redtower's memo

    redtower's memo Linux、Ubuntu、Webツール、プログラミング、サーバ、ソフトウェアとかを設定した時の情報をあとで忘れないように(というか忘れるために)記録しておくページ git submoduleを使って、リソースを管理しているリポジトリで、外部のリポジトリ(vimperator-plugins)を扱う。 外部リポジトリを追加する。 $ cd rc $ git submodule add https://github.com/vimpr/vimperator-plugins.git vimperator-plugins $ git commit -a -m 'add submodule vimperator-plugins' $ git push 元のリポジトリをcloneした時は、そのままではサブモジュールはcloneされない。 $ git clone http

  • gitで一度行った変更をなかったことにする方法4つ | Webシステム開発/教育ソリューションのタイムインターメディア

    gitでは様々な方法でコミットログを書き換えることができます。 その一例として一度行った変更をなかったことにする方法を4つ紹介します。 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。 $ $EDITOR $ git commit -am 'foo' $ $EDITOR $ git commit -am 'bar' $ $EDITOR $ git commit -am 'baz' のように適当な区切りでコミットして行ったものの、 結局全部要らないからなかったことにしたいということはままあります。 解答1: git reset –hard HEAD~{n} コミットしたもの全てを歴史から消し去りたい場合は git reset --hard を使います。 この例の場合は3回のコミットを全てなかったことにしたいので、 以下のコマンドで消し去ることができ

    gitで一度行った変更をなかったことにする方法4つ | Webシステム開発/教育ソリューションのタイムインターメディア
  • ウノウラボ Unoh Labs: git-svn駆け込み寺

    こんにちは。murahashiです。 gitやgit-svnを使うにあたり、試したことや引っかかったことについて、yukiのエントリ ウノウラボ Unoh Labs: subversionリポジトリでもgitが使えるgit-svn のつづきを書いてみました。 Q. ブランチ名を長くしてしまったので手打ちするのが大変です A. bashでgitコマンドを補完します gitのコマンド補完は git-completion.bash が便利です。 fedoraにyumでgitを入れた場合には下記場所にあります。 /usr/share/doc/git-VERSION/cntrib/completion/ 自分の見える場所にgit-completion.bashがなければ、インストール済みのgitと同じversionのgitのソースをダウンロードします。 cntrib/completion/

  • GithubのProject Pagesを作る手順を調べてみた。もしくはgitで空ブランチを作る方法を調べてみた。 - kanonji’s diary

    http://kanonji.info/blog/2013/12/19/git%E3%81%A7%E7%A9%BA%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/ 空ブランチを作るオプションで、もっと簡単に作る方法がありました。 Github pagesは、今はマウスクリックで作るだろうから、空ブランチを作る方法、だけです。 Githubではプロジェクトの公式サイトなどに使えるProject Pagesが作成できます。username.github.com/repo-nameという感じのURLになるんですが、未作成の場合は画像の様な、作成の手順が表示されます。 cd /path/to/repo-name git symbolic-ref H

    GithubのProject Pagesを作る手順を調べてみた。もしくはgitで空ブランチを作る方法を調べてみた。 - kanonji’s diary
  • git-svnの使い方を覚えた - idesaku blog

    分散SCMを使いたい!と思う今日この頃。 仕事ではSVN(Subversion)を使っているのだが、ちょっとしたお試し編集をするためにブランチを作ることに抵抗がある。ブランチは欲しい、大きめな変更をコミット無しで行いたくない、やはり少しずつコミットして進めていきたい。しかし、変更が全て記録されてしまうのがいただけない。ログが残るのは良いことなのだが、当に使うかどうか未知数な実験的プログラミングのログまで残したくない。使うと決まってから初めて残すようにしたいのだ。 すまん、これまで一緒に仕事をしてきた人々よ。俺はこれまで「ログが残って困ることがなんかある?いらなきゃ無視すればいいだけなんだから、気にするな。ブランチでもなんでもバンバン作ってしまえ!」とうそぶいてきているわけだが…ハッタリかましてました!当は俺も抵抗があるのだ。 そこで、分散SCMだ。さらにいうと、SVKがいまひとつ気に入

    git-svnの使い方を覚えた - idesaku blog
  • Subversionリポジトリと連携できるgit-svn | OSDN Magazine

    「Gitを使いたいが、中央リポジトリにはSubversionを使わざるを得ない」という場合も多いだろう。そのような状況で便利なのが、SubversionリポジトリとGitリポジトリの橋渡しをする「git-svn」である。git-svnを利用することで、SubversionリポジトリとGitのローカルリポジトリを同期させることが可能だ。記事では、このgit-svnの活用方法を紹介する。 git-svnのアーキテクチャ Gitの大きな特徴として、分散型アーキテクチャがある。分散型アーキテクチャでは、コミットはローカルのリポジトリに対して行い、ソースコードの同期はそれぞれの開発者間が持つローカルリポジトリ同士で変更点をやりとりすることで行う。もちろん公開リポジトリを利用したソースコードの同期も可能であり、柔軟な開発体制を取れるのが長所である。 しかし、一方でGitは非常に多数のコマンドがあり、

    Subversionリポジトリと連携できるgit-svn | OSDN Magazine