まずはレベル1から
Gitはバージョン管理システムです
現場ではSubversionを使っていますが…(;・∀・)
自分のお仕事ではGitを使っています。
ぶっちゃけ一人開発なので、Subversionでもよいのですがwww
SubversionとGitとどう違うのでしょうか?
Subversionは集中型バージョン管理システムです。
一方、Gitは分散型バージョン管理システムです。
現場ではSubversionでコミットするとJenkinsが動きます
Subversionでのcommit = 納品という認識です
しかし!うっかりcommitが頻繁に発生します(Subversionのせいではないw
んじゃ、ブランチきればいいじゃーんヘ(^o^)ノ
Subversionは集中型バージョン管理システムです…
ブランチをきるさきはローカルではなくネットワーク先になります
この時点で僕はムリですが…
Subversionをあまり理解していませんので、つっこみ大歓迎です
Gitは分散型なので、ローカルにブランチを切り放題のやっぱやーめたやり放題w
RubyはSubversionで管理されていますが、mrubyはGitで管理されGitHubにて公開されています
GitHubの登場がGitの地位をここまで押し上げたと言っても良いでしょう(ほんまかいなw
そのうち、GitHubについてもブログ書きますよ( ー`дー´)キリッ
MacならGitはデフォルトでインストールされています(10.9以降
10.8以前のバージョンではXcodeのcommand line tool?をインストールすればよろし
今回は基本的なコマンドをご紹介
$ mkdir murajun1978
$ cd murajun1978
$ git init
$ ls -a . .. .git
git initでローカルにリポジトリを作成しています
.gitがリポジトリ
試しにファイルを作成してみましょ
$ echo 'Hello, Git!' >> hello.txt
$ git status # On branch master # # Initial commit # # Untracked files: # (use "git add..." to include in what will be committed) # # hello.txt
Untracked filesはgitで管理されてないよーってこと(ワーキングツリー
$ git add hello.txt
$ git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached..." to unstage) # # new file: hello.txt
git addしたことでGitの管理下に(ステージへ移動
$ git commit -m "init commit"
$ git status # On branch master nothing to commit, working directory clean
git commitしたことでステージからいなくなった(リポジトリへ移動
$ git log commit [ハッシュ]
Subversionではコミット番号で管理してるけど、Gitは分散型なので一意な文字列ハッシュを使って管理してるのね
$ git show HEAD Date: Tue Nov 19 00:24:21 2013 +0900 init commit diff --git a/hello.txt b/hello.txt new file mode 100644 index 0000000..670a245 --- /dev/null +++ b/hello.txt @@ -0,0 +1 @@ +Hello, Git!
git showでリポジトリの状態を見ることができる
$ echo 'Lets try Git' >> hello.txt
$ git status # On branch master # Changes not staged for commit: # (use "git add..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: hello.txt #
$ git diff diff --git a/hello.txt b/hello.txt index 670a245..edaa8ae 100644 --- a/hello.txt +++ b/hello.txt @@ -1 +1,2 @@ Hello, Git! +Lets try Git
git diffで変更内容を見ることができます
間違えたのでこの修正を取り消してみましょう
$ git checkout -- hello.txt
$ git status # On branch master nothing to commit, working directory clean
もとに戻りましたねー
また書きます
( ̄(エ) ̄)彡☆
0 件のコメント:
コメントを投稿