ようこそ、サル先生のGit入門へ。 Gitをつかってバージョン管理ができるようになるために一緒に勉強していきましょう! コースは4つ。Git初心者の方は「入門編」からどうぞ。Gitを使った事がある方は「発展編」がおすすめです。さらに「プルリクエスト編」では、コードレビューする文化をチームに根付かせましょう。 「あれ?何だっけ…?」という時は「逆引きGit」で調べて見てくださいね。
※この記事では「Webデザイナー」は、「ノンプログラマ」の意味で使っています。 psd、ai などの材料データの管理ではなく、サーバーにアップするファイルの管理の話です。 サルでもわかるといわれても、やっぱりわからない・・・ Web制作をやっている人は、少なからずバージョン管理システムの話を聞いたことがあると思います。 特にGit(ギット)っていうのは、内容まで知らなくても名前くらいは聞いたことがありますよね。 で、ネット上ではバージョン管理システムのメリットに関するブログ記事なんかもたくさんあって、変更履歴をたどれるとか、複数人で同じファイルを修正したりといった時のトラブルに対応できるとか、なんか便利そうだなーとは思っていたわけですが、ずーっと導入は見送ってきました。 その理由は・・・ 「Git入門」とか書いてある記事を読んでも導入方法が書いてあるだけで、実際に使うシチュエーションが思い
RailsにCapistranoを導入して、Gitリポジトリと連携した自動デプロイのしくみを構築していきます。一度組み上げてしまえば、その後の作業量が激減するんでオススメです! ちなみに、localにステージング環境を作る場合には、Capistrano 複数環境へのデプロイ[localhostへのデプロイ]がオススメです。 🐮 リモートのGitリポジトリを準備デプロイ先のサーバがアクセスできるGitリポジトリを準備してください。無制限でプライベートなGitリポジトリを作成できるBitBucketがオススメです! ちなみに、BitbucketでのSSHキーセットアップ手順はこちらにまとめています。 🐞 Gitにリモートリポジトリを追加ローカル側でGitにリモートリポジトリを追加する。
基本設定、開発環境設定に引き続き、今回はCapistranoを導入して自動デプロイできるように設定。unicorn+nginx周りの設定も変更して快適にデプロイできるようになりました。 リモートリポジトリの作成 リモートサーバーにリポジトリを作成します。 今回は全て同じサーバーでやるので、自分のホームディレクトリ直下に作りました。 $ mkdir -p /home/ntaku/git/sample $ cd ~/git/sample $ git --bare init 後からcapistranoでアプリを配置するためのディレクトリも作成しておきます。 # mkdir /var/www プロジェクト作成 ここからはローカルで。 新規プロジェクトを作成して、テスト用のコントローラーを追加します。 $ rails new sample -d mysql $ cd sample $ rails g
「Git」使ってますか? 近年、分散バージョン管理システム「Git」が急速にシェアを伸ばしています。筆者は、チケットシステムやバージョン管理の勉強会などを開催したりしていますが、Gitユーザーがかなり増えてきていると感じます。 しかしながら、そのような勉強会でアンケートを取ってみると、実案件では半分以上の人がSubversionを利用しており、Gitの導入はまだまだ進んでいません。移行コストが掛かったり、プロジェクトマネージャ層への知名度がまだまだ低いというのもありますが、理由の1つとして、ユーザー管理が煩雑であったり、アクセス制御に関する情報が不足しているということもあると思います。 そういうわけで本稿では、Gitリポジトリのユーザー管理やアクセス制御を簡単に行う「Gitolite」を紹介します。 なお、本稿ではGitの利用方法については紹介しませんので、Git自身の使い方については改め
私の所属している会社では、2年程前にバージョン管理システムをSubversionからGitに移行し、現在まで開発フローを試行錯誤してきました。ようやく形になってきたということで、守秘義務に接触しない程度に紹介&考察していきたいと思います。 形になってきたとはいえ、まだまだ試行錯誤中ですので色々なツッコミは大歓迎です。 現在の開発フローの俯瞰図# 現在の開発フローを俯瞰してみると大体下記図のような感じになっています。途中で図を書くのが面倒になった都合上、Jenkinsさんが1人しか居ませんが、実際はmasterブランチの他にreleaseブランチも監視してもらっています。 以降この図を元に話を進めていきたと思います。 Gitoriousを利用して自由に開発# GitoriousというGitHubに似たサービスがあります。このGitoriousはオープンソースとしても公開されていますので社内に
HTML等をgitで管理していると、サーバーへのアップロード用のファイルとしてコミットした差分のファイルだけを抽出したい事があります。 「git diff」で差分の表示は出来るのですが、ディレクトリ構造を保持した状態でのファイル抽出みたいな事は出来ないようだったので、Perlでスクリプトを書いてみました。 ※bashとかでも書けると思いますが、なんとなくPerlで書いてみました。 「git diff --name-only」で差分のファイル名を取得 普通にgit diffを使うと・・・ gitでの差分の表示には「git diff」を使用しますが、そのまま使うとファイルの内容まで表示されてしまいます。 $ git diff HEAD^ diff --git a/bar.txt b/bar.txt new file mode 100755 index 0000000..9e74262 ---
A guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it. Git is a powerful, sophisticated system for distributed version control. Gaining an understanding of its features opens to developers a new and liberating approach to source code management. The surest path to mastering Git is to immerse oneself in its utilities and operations, to ex
今までもgithubにpushするためだけにgitは使ってたんだけど、最近他人と共同作業するようになって、真面目にgitを学び始めた。 とりあえず今日わかったこと。 困ったら git reflog しろ! ということで終わりなんだけど、一応以下にメモ的に書いておく。 ツッコミ大歓迎というか、いろいろ教えて欲しいのでむしろツッコンでください。。 自分の作業はこまめにcommitしたいけど、共同リポジトリには意味のある単位でpushしたい こんな風にやればいいのかなという感触を持った。 作業ブランチ(branch1)を作る。 $ git branch branch1 ブランチを切り替える $ git checkout branch1 で、作業ブランチでいろいろ作業してコミットを積み重ねた後、 master に切り替える $ git checkout master 作業ブランチの変更をマージする
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.
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.
分散SCMを使いたい!と思う今日この頃。 仕事ではSVN(Subversion)を使っているのだが、ちょっとしたお試し編集をするためにブランチを作ることに抵抗がある。ブランチは欲しい、大きめな変更をコミット無しで行いたくない、やはり少しずつコミットして進めていきたい。しかし、変更が全て記録されてしまうのがいただけない。ログが残るのは良いことなのだが、本当に使うかどうか未知数な実験的プログラミングのログまで残したくない。使うと決まってから初めて残すようにしたいのだ。 すまん、これまで一緒に仕事をしてきた人々よ。俺はこれまで「ログが残って困ることがなんかある?いらなきゃ無視すればいいだけなんだから、気にするな。ブランチでもなんでもバンバン作ってしまえ!」とうそぶいてきているわけだが…ハッタリかましてました!本当は俺も抵抗があるのだ。 そこで、分散SCMだ。さらにいうと、SVKがいまひとつ気に入
「Gitを使いたいが、中央リポジトリにはSubversionを使わざるを得ない」という場合も多いだろう。そのような状況で便利なのが、SubversionリポジトリとGitリポジトリの橋渡しをする「git-svn」である。git-svnを利用することで、SubversionリポジトリとGitのローカルリポジトリを同期させることが可能だ。本記事では、このgit-svnの活用方法を紹介する。 git-svnのアーキテクチャ Gitの大きな特徴として、分散型アーキテクチャがある。分散型アーキテクチャでは、コミットはローカルのリポジトリに対して行い、ソースコードの同期はそれぞれの開発者間が持つローカルリポジトリ同士で変更点をやりとりすることで行う。もちろん公開リポジトリを利用したソースコードの同期も可能であり、柔軟な開発体制を取れるのが長所である。 しかし、一方でGitは非常に多数のコマンドがあり、
Gitとは? 最近、分散バージョン管理システムが注目を集めている。分散バージョン管理システムでは、CVSやSubversionなどこれまでのバージョン管理システムと違い、単一のリポジトリで集中的に管理するのではなく、複数のリポジトリを利用することができ、必要に応じてリポジトリ間の同期を取ることになる。 開発者は自分専用のローカルリポジトリを持ち、普段はローカルリポジトリに対してコミットを行い、必要になった時点で中央リポジトリに同期するといった使い方が可能だ。また、リポジトリをローカルに持つことによって、オフライン時でもコミットができ、オンラインになったタイミングでリモートリポジトリと同期を取るといった運用も可能になる。 図1 分散バージョン管理システム 主な分散バージョン管理システムとしてはGit、Mercurial、Bazaarなどがある。とりわけGitはLinuxカーネルの開発にも使用
Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan. Getting Started Overview If you're new to Git or distributed version control systems generally, then you might want to read Git for Eclipse Users first. More background and details can be found in the on-li
近年急速にユーザーを増やしているバージョン管理システムに「Git」がある。GitはLinuxカーネルの開発リーダーとしても知られるLinus Torvalds氏らが、Linuxカーネルの開発に使用する目的で開発した分散型バージョン管理システムで、現在ではPerl 5やRuby on Rails、Android、Wine、X.orgなど、さまざまなプロジェクトで採用されている。 本特集では、Gitを使用するのに必要な「分散型バージョン管理システム」の基本的な考え方を紹介するとともに、Gitの導入方法やWindows環境での利用方法、Subversionなどほかのバージョン管理システムとの連携など、Gitを活用するためのテクニックを紹介する。 分散バージョン管理システムGit入門 2009年2月6日 バージョン管理システムと言うとSubversionやCVSが有名だが、近年急速にユーザーを増や
LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 LinuxカーネルやRuby on Rails、Perlなど、近年多くの大規模プロジェクトで採用されているバージョン管理システムが「Git」だ。Gitには非常に多数のコマンドが用意されているが、日常的に使用するコマンドは20個程度と言われている。本記事では、Gitを使いこなすために覚えるべき20個のGit基本コマンドを紹介する。 なお、Gitの基本的な考え方や使い方については分散バージョン管理システムGit入門でも紹介しているので、そちらも参照してほしい。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く