Git入門
http://w.atwiki.jp/git_jp/
Git入門
ja
2012-06-06T02:42:48+09:00
1338918168
-
リファレンス
https://w.atwiki.jp/git_jp/pages/35.html
準備中。
http://git-scm.com/docs と同じ分類で、各コマンドの man ページにリンクをはる予定です。
** 設定の変更 (Setup and Config)
- "config" -- gitの各種設定を変更
- "help" -- 各コマンドのヘルプを表示
** リポジトリの作成/複製 (Getting and Creating Projects)
- "init" -- リポジトリの新規作成
- "clone" -- リポジトリの複製
** コミット (Basic Snapshotting)
- "add" -- インデックス領域にファイルの変更を追加する
- "status" -- インデックス領域に入れたファイルを確認
- "diff" -- 差分の表示
- "commit" -- コミット(インデックス領域に入れた変更を記録する)
- "reset" -- インデックス領域からファイルの変更を削除する
- "rm" -- ファイルをバージョン管理対象から除外する
- "mv" -- ファイルのリネームをインデックス領域に記録する
** ブランチとマージ (Branching and Merging)
- "branch" -- ブランチの作成
- "checkout" -- 指定ブランチに切り替える
- "merge" -- マージする
- "mergetool" --
- "log"
- "stash"
- "tag"
** 共有 (Sharing and Updating Projects)
- "fetch"
- "pull"
- "push"
- "remote"
- "submodule"
** 履歴の探索 (Inspection and Comparison)
- "show"
- "log"
- "diff"
- "shortlog"
- "describe"
** パッチ (Patching)
- "am"
- "apply"
- "cherry-pick"
- "rebase"
** デバック支援 (Debugging)
- "bisect"
- "blame"
** メール (Email)
2012-06-06T02:42:48+09:00
1338918168
-
GUIではじめるGit
https://w.atwiki.jp/git_jp/pages/34.html
* GUIで始めるGit
Gitに同梱されている GUIツール git-gui/gitk の使い方を説明します。
git gui を使ったgitの入門ってあまり見ませんが、
とても分かりやすいですし、gitが初めての方はまずは git-gui/gitk を使ってみるのがお勧めです。
このページではイントロ部分しか説明しませんが、 このページを見る方がたくさんでてくるようなら
続編も作成しようと思います。
GUIとCUIの橋渡しとして、できるだけ対応するコマンドについても説明しますので、
コマンドライン好きな方も是非このページを見て git 理解の一助にしてください。
目次:
#contents()
** 0. git gui がインストールされているか確認
事前準備として「git gui」および「gitk」コマンドを実行し、git gui と gitk が起動できることを確認しましょう。
(Windowsでmsysgitを使っている場合は、フォルダ内で右クリックし「Git GUI」メニューが選択できるか確認)
Windowsで msysgit をインストールしている方なら、git gui と gitk が既にインストールされてるはずです。
Linuxで git gui を実行したときに「git: 'gui' is not a git command」のようなエラーがでた方は
git gui がインストールできていないと思われるので、以下のようにして git gui と gitk をインストールしましょう。
Ubuntu/Debian系: apt-get install git-gui gitk
RedHat/Fedora系: yum install git-gui gitk
** 1. バージョン管理を始める前準備1:リポジトリを作成する
バージョン管理を始めるには、初めに変更履歴の保管庫(リポジトリ)を準備する必要があります。
次のようにして作成します。
1. どこのディレクトリ上でも良いので、git gui コマンドを実行します。
(Windowsでmsys版gitを使っている場合は、フォルダ内で右クリックし「Git GUI」メニューを選択)
こんな画面がでてくる
2012-11-02T02:41:54+09:00
1351791714
-
repo help
https://w.atwiki.jp/git_jp/pages/33.html
usage: repo COMMAND [ARGS]
The complete list of recognized repo commands are:
|[[init>repo/init]]| カレントディレクトリ内で repo を初期化 | Initialize repo in the current directory|
|[[sync>repo/sync]]| 作業ツリーを最新のリビジョンに更新 | Update working tree to the latest revision|
|[[smartsync>repo/smartsync]]| 作業ツリーを最新の安定バージョンに更新 | Update working tree to the latest known good revision|
|[[start>repo/start]]| トピックブランチを作成 | Start a new branch for development|
|[[abandon>repo/abandon]]| トピックブランチを削除 | Permanently abandon a development branch|
|[[prune>repo/prune]]| マージ済みのトピックスブランチを破棄 | Prune (delete) already merged topics|
|[[branch>repo/branch]]| トピックブランチの一覧を表示 | View current topic branches|
|[[checkout>repo/checkout]]| トピックブランチをチェックアウト | Checkout a branch for development|
|[[cherry-pick>repo/cherry-pick]]| 変更をチェリーピック | Cherry-pick a change.|
|[[rebase>repo/rebase]]| ローカルブランチを上流のブランチにリベース | Rebase local branches on upstream branch|
|[[status>repo/s
2011-09-25T19:01:01+09:00
1316944861
-
履歴の書き換え
https://w.atwiki.jp/git_jp/pages/32.html
[[Tips]] > 履歴の書き換え
-----------
git rebase -i コマンドを利用すると、
過去にコミットした履歴を簡単に書き換えることができます。
以下、具体例を用いて説明します。
# 履歴の書き換えというのは、分散型SCMならではの機能ですね。(^^)
** 更新例:
a -> b -> c -> d -> e -> f
(a, b, c, … はそれぞれコミットを指します)
履歴を精査した結果、次のように書き換える必要が
あることがわかったとします。
- b のコメントが間違っているので訂正
- c と d は1つに纏めた方が良い (例えば d は c の修正の誤字を修正しているのみとか・・)
- e と f は順番を逆にした方が分かりやすい
これら修正をして、最終的に以下の状態にします。
a -> b' -> (c,d) -> f -> e
** 手順:
1) git log コマンドにて、各コミットのコミットIDを確認
$ git log --pretty=oneline | tac | tail -20
a8c78c640990ec19acfac2e23c4f13d545102d08 GHSRC-SFCM-xxxx:ファイル a を追加
98e2e5177295afc29b3efcc1b46b4203fe7ec69c GHSRC-SFCM-xxxx:ファイル b を追加
71bf1c9a4b0f99d23dd5e3840febd340955f6034 GHSRC-SFCM-xxxx:ファイル c を追加
001b967de5bfbdd2bb0fa74ae5df66620cf1210c GHSRC-SFCM-xxxx:ファイル d を追加
a4c4670fb0b94f61f8e761a64de24467d67168c3 GHSRC-SFCM-xxxx:ファイル e を追加
260ab529ee2aa8197b9f1bb9623fa36de7ed1583 GHSRC-SFCM-xxxx:ファイル f を追加
-> 今回は a の位置から修正するので、
a のコミットID a8c78c640990ec19ac
2011-03-07T12:43:54+09:00
1299469434
-
外部マージツールの利用
https://w.atwiki.jp/git_jp/pages/31.html
たとえば、空白を無視してマージさせたい場合、
以下のように指定する。
- マージ用プログラムを作成
$ cat > extMerge
#!/bin/sh
ancestor=$1
local=$2
other=$3
diff3 --diff-program=diff-custom -Em \
--label=local $local \
--label=ancestor $ancestor \
--label=other $other \
> $local.$$
res=$?
mv $local.$$ $local
exit $res
$ cat > diff-custom
#!/bin/sh
diff -w $*
$ chmod +x extMerge diff-custom
$ mv extMerge diff-custom (PATHの通っているディレクトリへ)
- マージドライバの定義を登録
$ cat >> ~/.gitconfig
[merge "extMerge"]
name = external merge driver
driver = extMerge %O %A %B # マージコマンドとコマンドに渡す引数を指定
# %0 共通祖先
# %A カレントブランチのソース状態
# %B マージ対象のブランチのソース状態
recursive = binary # 共通祖先が2つ以上ある場合のマージ方法を指定
- マージ用属性の設定
ファイル名が *.c、*.h の場合にのみ適用する場合
$ cat >> .gitattributes
*.c merge=extMerge
*.h merge=extMerge
全ファイルで使う場合
$ git config --global merge.tool extMerge
------
参考: man gitattribute
2011-03-04T21:45:23+09:00
1299242723
-
Tips
https://w.atwiki.jp/git_jp/pages/30.html
役に立ちそうな情報を Tips として載せていきたいと思います。
まだ1個しか項目載せていませんが・・・。
- [[Gitのコマンド補完]]
- [[外部マージツールの利用]]
- [[履歴の書き換え]]
----
2011-03-07T12:37:37+09:00
1299469057
-
Gitのコマンド補完
https://w.atwiki.jp/git_jp/pages/29.html
Bashシェルを使っている場合、Gitのコマンド補完機能が利用できます。
また、プロンプト内にブランチ名を表示することもできます。
補完機能の設定:
1. git-completion.bash を入手。
http://git-scm.com/ から Gitのソースを解凍すると、contrib/git-completion.bash にあります。
また、Cygwinの場合は git-completion パッケージをインストールすると、
/etc/bash_completion.d/git のパスにインストールされるそうです。
2. git-completion.bash を $HOME/.git-completion.bash にコピー。
3. 下記のコマンドを実行して有効に。
source $HOME/.git-completion.bash
$HOME/.bashrc 内に上記記述を追加しておくとよいでしょう。
4. git co<tab><tab> とすると、commit config と候補が表示されるはずです。
プロンプト内へのブランチ名表示:
1. 上記補完機能設定がされていることが前提です。
2. PS1 変数に「$(__git_ps1 "(%s)")」を追加すると、プロンプト内にブランチ名が表示されます。
例:
PS1='\w$(__git_ps1 "(%s)")\$ '
→ プロンプトが「~/dir1(master)$ 」となるはずです。
<参考>
bear.mini: Cygwin の git で自動補完(git-completion)を使う方法
http://bearmini.net/blog/View.aspx?bid=1&aid=172
Pro Git: ヒントと裏技:自動補完
http://progit.org/book/ja/ch2-7.html
----
2010-02-28T12:08:09+09:00
1267326489
-
ドキュメント翻訳作業に参加する
https://w.atwiki.jp/git_jp/pages/28.html
Gitのドキュメント(git付属のマニュアル)の翻訳作業に協力していただける方を募集しています。
誤字脱字などの指摘だけでもうれしいです。
ドキュメント翻訳の git リポジトリ:
http://github.com/yasuaki/git-manual-jp/
変更は github で pull リクエストするか、
もしくは パッチを [[patch 置き場]] に添付お願いします。
※ [[マニュアルの更新履歴]]
※ [[マニュアルの翻訳状況]]
2009-10-30T16:53:22+09:00
1256889202
-
ドキュメント
https://w.atwiki.jp/git_jp/pages/27.html
* マニュアルの翻訳
- Gitに付属しているマニュアルの翻訳
-- [[git(1) Manual Page>http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/git.html]]
-- [[リファレンス]]
-- [[チュートリアル>http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial.html]]
-- [[チュートリアル2>http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/gittutorial-2.html]]
-- [[ユーザマニュアル>http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/user-manual.html]]
-- [[ユーザマニュアル(分割版)>http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/chunked/index.html]] [[[zip一括ダウンロード>http://www8.atwiki.jp/git_jp/pub/git-manual-jp/Documentation/user-manual.zip]]]
-- [[Git - SVN Crash Course>http://www.tempus.org/n-miyo/git-course-trans-ja/svn.ja.html]] (n-miyo さん翻訳)
※ 翻訳用のリポジトリ、作業状況は「[[マニュアルの翻訳状況]]」参照。
翻訳作業に協力してくださる方がいてくれるとうれしいです。
- その他の Git 関連ドキュメント
-- [[The RIV Developer Corner:My Git Cheatsheet>http://www8.atwiki.jp/git_jp/pub/other-docs/my-git-cheatsheet.html]]
(F.U. さん翻訳。本サイト内にありますが、著作権ははF.U.さんに属します)
*
2014-02-01T21:31:25+09:00
1391257885
-
narita-test
https://w.atwiki.jp/git_jp/pages/26.html
このページをウィキペディアライクモードのテストと、
このサイト(Git入門)の構想メモとして使用します。
とりあえず名前は narita-test ですが、そのうち適切なページ名に置き換えます。
このサイトでは Git入門というサイト名を付けつつも
英語版の資料を訳すことに集中しようと考えていた。
最初はいくつも似たような情報があふれかえってもしょうがないしねと。
しかし、Gitのユーザマニュアルは、初心者には難しいので
もっと簡単な説明資料があっても良いかなと思うようになりました。
しかも、コマンドラインではなく、できるだけ git-gui を使用した説明なら
初心者もとっつきやすいかなぁと。
入門Subversion の構成が分かりやすいという人がいるので、
同じ構成にしてみようかなぁ・・・。
# Gitとは何か
# ひとりで使うときの話し
# みんなで使うときの話し
# Windowsならどうよ
# サーバの設定
# その他いろいろ
# ゆくえ
<!-- 箇条書きが # なのは使いにくいなぁ -->
2008-08-14T20:23:52+09:00
1218713032