1. 使い始める 1.1 バージョン管理に関して 1.2 Git略史 1.3 Gitの基本 1.4 コマンドライン 1.5 Gitのインストール 1.6 最初のGitの構成 1.7 ヘルプを見る 1.8 まとめ 2. Git の基本 2.1 Git リポジトリの取得 2.2 変更内容のリポジトリへの記録 2.3 コミット履歴の閲覧 2.4 作業のやり直し 2.5 リモートでの作業 2.6 タグ 2.7 Git エイリアス 2.8 まとめ 3. Git のブランチ機能 3.1 ブランチとは 3.2 ブランチとマージの基本 3.3 ブランチの管理 3.4 ブランチでの作業の流れ 3.5 リモートブランチ 3.6 リベース 3.7 まとめ 4. Gitサーバー 4.1 プロトコル 4.2 サーバー用の Git の取得 4.3 SSH 公開鍵の作成 4.4 サーバーのセットアップ 4.5 Git
オペレーションとかインフラ系のエンジニアリングからは少々離れそうなので、個人的な備忘録がてら、Gitのブランチモデルについて。淡々と書くよ。 見えないチカラ: A successful Git branching model を翻訳しました 基本的に、このA successful Git branching model(上記は翻訳記事)を参考にしています。ですが、完全ではありません。運用しながら都合よく省略していますし、悪く言えば曲解もしています。あくまで、わたしが都合良く解釈して取り回した結果と考えてください。 さて、このようなドッシリとしたブランチモデルが、あらゆる規模のプロジェクトに対して有効であるかといえば、もちろんそうではありません。コツコツ個人で開発しているライブラリなどは、ブランチを使わなくても良いケースがあるでしょうし、作ってもバージョン番号ブランチぐらいのケースだってザラ
git先日、msysGit(Git for Windows)がいよいよ公式に UTF-8 をサポート! という記事で「UTF-8 対応のコードがコミットされた」ことをお伝えしましたが、ついに、UTF-8 対応の新バージョン、msysGit 1.7.10 がリリースされました。いよいよ Windows でも日本語ファイル名を扱えるようになったので、「git では "詳細設計所仕様書.xlsx" をコミットできないんでしょ?」とブーブーいってた人を説得できる材料はそろいました!!!!それを記念して、この記事では UTF-8 対応の msysGit 1.7.10 を試してみた ブーブーいう人を黙らせるための「GUI で git する Windows 向けツール」まとめの2本立てでお送りしたいと思います。UTF-8 対応の msysGit 1.7.10 を試してみたさっそく Google Code
ブランチを使ってみる 今回はブランチとタグについてご紹介します。 ブランチとは、ある時点のコミットから別の履歴を派生させたものを指します。 Gitではあらゆるものがブランチとして扱われ、 デフォルトのブランチは「master」という名前のブランチです。 では、現在リポジトリにあるブランチを表示してみましょう。 $ git branch * master git branchコマンドは、自分のリポジトリにあるローカルなブランチが表示されます。 -rオプションをつければ、後述するリモートブランチを表示し、-aオプションをつければすべてのブランチを表示します。 現時点ではローカルのmasterブランチが1つだけ表示されました。 ブランチの横にある*は、現在選択されているブランチを示しています。 ではmasterブランチから派生させた、 「test_branch」を作成しましょう。 $ git b
最近、でもないかもしれないけど、ソースコード管理に git を使うようになりました。 あまり、ソースコード管理する場面を個人的には感じられず、今まであまり使ったことなかったのですが、使ってみると非常に便利ですね。 ちなみに、僕は svn も cvs も、ほんの少ししか触ったことなくて、そのおかげか? git の導入は非常にスムーズでした。 僕は、家と大学と、いろいろなところでちょこちょこ開発してます。なので、リモートリポジトリがあると非常に便利です。 今までは、github を使っていました。が、github はお金払わないと private なリポジトリは作成できないのです。 あまり、public にしたくないようなものを開発したいときもあるので、今回は家のサーバーにリモートリポジトリを構築してみました。 忘れそうなので、軽く手順を。 まず、サーバーに git のリポジトリを作成しましょ
こんばんは!暑い! ということで今日はgitのすごく便利なエイリアスを作りました。 Git-助けて https://github.com/rosylilly/git-tasukete という、超便利コマンド集です。 使い方はホームディレクトリあたりにクローンしてきて、パスを通しておくだけです。 するとあら不思議、ターミナルに $ git 助けて と打つだけで、助かりたい時の場合がリストで出てきます。 後はそのうち、目的の状況のモノをターミナルにコピペするだけです。ほらね $ git mergeを取り消したい はい、マージが取り消せました。よかったよかったー! こんな困った場合にも対応してください!というのはGitHubのissueか、コメント欄にて受け付けてます!
ブランチを切ってみたところ, リモートレポジトリへのコミットのやり方が分からなかったので, 概略的なgitの構造を書き留めつつまとめつつ. この記事を書くにあたって試したgitのバージョンは1.6.0.2 まずは:こんな感じ? 用語確認 master: ローカルレポジトリのmasterブランチ(ローカルのメインのブランチ?) origin: リモートレポジトリのoriginブランチ(リモートのメインのブランチ?) (つまり,git@github.com:pneu/***.gitのことかな?) この2つはよく使うから,それぞれ最初からエイリアスになっているってことかな? cloneして,レポジトリ名が確定した後は上の2つのエイリアスが使える. それ以前に使った場合は分からない.やってない. chatレポジトリをcloneした後は,その作業領域では origin = git@github.co
LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 なお、Gitの基本的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。
備忘録です。まず毎回.gitignoreを作成するのは面倒なので、グローバルな設定ファイルとして作成します。保存場所はどこでも良いですが、以下の場合はホームディレクトリの直下に.gitignoreを作成します。 $ git config --global core.excludesfile ~/.gitignore 共通.gitignoreの内容ですが、僕の活動範囲だと以下のようになりました。プロジェクトに固有の条件は、プロジェクト以下の.gitignoreに記述する形になります。 # general .DS_Store *.zip *.tar.gz *.exe *.bz2 .hg/ .gitignore # backup *~ *.bak # gnu global GPATH GRTAGS GSYMS GTAGS # c/c++/objc a.out *.o *.a # python *
はじめに 「分かりやすいコードを書く」、「コードと一緒にテストも書く」等はソフトウェア開発において大切なことです。しかしそれと同じくらい大切なことして「分かりやすいコミットメッセージを書く」があります。これはあまり着目されていなく、見過ごされていることです。 今回は、コミットメッセージの分かりやすさの大切さ、そして、分かりやすくするための書き方を説明します。 コミットメッセージとその大切さ バージョン管理システムとコミット 現在、ほとんど全てのソフトウェア開発ではSubversionやGitなどのバージョン管理システムを使っています。バージョン管理システムを使うことによるメリットというのは、ソフトウェアの変更が記録されていくことにあります。 具体的なメリットは3つあります。 ソフトウェアの調査がしやすくなることです。現時点でのコードと、そして変更の履歴とを組み合わせることで、それらから非常
gitの基本的なcommandしか使ってないって人向けのtips集です。 エイリアスの設定 $ git config --global alias.co "checkout" とすると、 ~/.gitconfig に [alias] co = checkout のように追記されます。 このようにgit configを叩いてもいいですし、~/.gitconfigを直接編集しても大丈夫です。 とりあえず、 [alias] co = checkout # checkout長い… st = status -sb # シンプルなstatus pr = pull --rebase # pull するときにmergeコミットを作らない fo = fetch origin ro = rebase origin # branchでfoしてroすればmasterにrebaseできる rc = rebase -
チーム開発において、「チケット/Issue」「TDD」「コードレビュー」など、ソースコードの変更に対する効果的な開発フローについてよく考えるのだけど、なんにしてもこのあたりは非常に課題が多く、各社各コミュニティで色々なやり方が模索されているポイントだと思う。 で、まぁご多分に漏れず僕もよく考えるわけだけど、現状その過程で Pull Request こそが非常に効果的なのではないか、と思うので、ちょっとまとめてみようかと思う。 もちろん、言うまでもないようなことだよ、という人もいるかもしれないけど、そういう人がたくさんいると、非常に喜ばしいことだね。 Pull Request とは GitHub でこう呼ばれているので、こう呼ぶことにするが、ここでは、複数のリポジトリ/ブランチ間でのオープンな patch のやりとりのことだと考える。 あと、自分が使っているのが Git なので、ここでは G
GitExtensions付属のmsysGitでコミットしたときに文字化けしたので、その対処法を残しておきます。 bleisさん、sinsokuさんをはじめ教えてくれたみなさん、ありがとうございました! #ちなみに場所ごとの文字コードの状態がまだわかってないので、そのあたりフォローしてもらえると助かります 問題点と解決策 問題点は2つあって、それぞれの解決策を載せておきます 表示およびpushでの文字化けを解決するためには両方の対処をする必要があるようです 表示系文字コードの問題。コミットログに入力した日本語がgit logなどで化ける:UTF-8のコミットログをShift-JISで表示しようとしているので、UTF-8に変換する nkf Network Kanji Filter for Win32 (自家用)からnkfを取得し、C:\Program Files\Git\binにコピーする
思い浮かんだGitのTipsを列挙してみました。 gitのコマンドをで補完する git-completion.bash を入れると、でコマンドの補完が効くようになります。 また、PS1の設定を行うと現在のブランチ名が常にbash上に表示されるようになります。 (Windowsの場合、msysgit は標準で入ってます) contrib/completion/git-completion.bash - GitHub インストール方法(引用) # To use these routines: # # 1) Copy this file to somewhere (e.g. ~/.git-completion.sh). # 2) Add the following line to your .bashrc/.zshrc: # source ~/.git-completion.sh # # 3)
Using Git To use Git on the command line, you will need to download, install, and configure Git on your computer. You can also install GitHub CLI to use GitHub from the command line. For more information, see "About GitHub CLI." If you want to work with Git locally, but do not want to use the command line, you can download and install the GitHub Desktop client. For more information, see "About Git
Linaro Android Git Hosting Git repositories hosted by Linaro index NameDescriptionIdle All-Projects.gitRights inherited by all other projects 12 days All-Users.git[no description]9 days Kernel-Projects.git12 days Platform-Chromium-Projects.git12 days Platform-Packages-Modules-Projects.git[no description]2 years Platform-Projects.git9 days Platform-Unrestricted-Projects.git4 weeks Public-Projects.g
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く