git/運用
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(git/運用);
*目次 [#t8791a3d]
#contents
*参考情報 [#v1b534bd]
-[[git]]
*リポジトリの初期化 [#m6213818]
フォルダに移動しgit initを実行するだけ。
mkdir myproduct
cd myproduct
git init
*ファイルを追加 [#lf924da4]
**現在のフォルダ以下のファイルをすべて追加 [#aeb24cd4]
git add .
**git add .したのを全部とりけす [#je61f75d]
-[[version control - Undo 'git add' before commit - Stack...
git rm -r --cached .
-そして追加するとき-nつきで実行すればよいとアドバイスされ...
git add -n .
**指定ファイルを追加 [#lfc39bca]
git add sample.txt
**バージョン管理しているファイルをすべて追加 [#c0e50c6b]
git add -u
**バージョン管理しているファイル&新規ファイル [#w6d3a1ed]
git add -A
**.gitignore [#f5017f59]
バージョン管理から除外したいファイルはリポジトリのルート...
*~
*コミット [#p2bef697]
**ログを直接指定 [#l3e007c9]
"-m"オプションでログを直接記録できる
git commit -m "sample.txt added"
**エディタでログを指定 [#a93c4c18]
"-m"オプションを使わない場合エディタが立ち上がる。
-1行目: 変更内容の要約
-2行目: 空行
-3行目以降: 変更した理由の説明。
**一括コミットしたい場合 [#qacd5209]
git commit -a
**変更点を確認しつつコミットログを書く [#z0e37053]
git commit -v
**特定ファイルだけcommit [#te23105b]
git commit sample.txt
**特定ファイルの変更記録要求を取り消す [#c1f99bd0]
git reset sample.txt
*変更点の確認 [#c7eb3f28]
**変更記録をリクエストしてない変更点の表示 [#sce4c205]
git diff
git diffコマンドはgitに変更点を記録したいとリクエストして...
** commitしていない変更点を表示 [#z6f4e958]
git diff HEAD
** 部分変更をインデックスに記録した場合の変更点の表示 [#n...
git diff --cached
*状態の記録をリクエスト [#gbf0a90b]
git addコマンドを使って状態の記録をリクエスト(=インデック...
** 個別にファイルを指定 [#r2db820b]
git add sample.txt
** バージョン管理しているすべてのファイル [#i92921ca]
git add -u
**部分変更 [#s834dcd3]
変更点が2箇所以上ある場合、変更箇所を確認しながらaddする...
git add -p
*状態の確認 [#x0c4ca35]
git status
*履歴の表示 [#y1aa28b1]
**ログを表示する [#jed601a1]
git log --pretty=short
**パスで検索する [#f35d1cf7]
git log --pretty=short sample.txt
**ログメッセージをgrep検索する [#e1800f9d]
git log --pretty=short grep='xxx'
**特定ファイルのログをdiff表示つきで表示 [#i36bcdce]
- git logに-pオプションを付けて試用する。
git log -p ファイルパス
*変更を取り消す [#s76f8da5]
** 過去のコミットを取り消す [#sf9cc8a5]
git revert xxxxx
**ワークツリーの変更を取り消す [#o9f355b5]
-インデックスに記録されている状態に戻す(sample.txtだけ)
git checkout sample.txt
-全体を戻す場合
git checkout .
-最新のコミットの状態に戻す
git checkout HEAD sample.txt
**コミットをなかったことにする [#s2218b0d]
git reset HEAD^を使う。部分コミットしたい場合に間違えたと...
git commit -a # 間違えたコミット
git reset HEAD^ #現在のヘッドの一つ前に戻る。
ワークツリーの内容も戻す場合
git reset --hard HEAD^
**コミットをやり直す [#ecabf10c]
ログメッセージを記録し直したい場合に使う。git reset HEAD^...
git commit --amend
**二つ以上前のコミットを書き換える [#gb093cb9]
HEADから3つ前のコミットを書き換える場合。
git rebase -i HEAD-3
実行するとエディタで指示票の編集画面が表示されるので、pic...
pick xxxxxx あれをこうした
pick yyyyyyy それをあれした
pick zzzzzz それからこうなった。
最初の行のコミットを書き換える場合
edit xxxxxx あれをこうした
pick yyyyyyy それをあれした
pick zzzzzz それからこうなった。
コミットを修正。
git commit --amend
続く混みとを反映する
git rebase --continue
*変更の確認 [#zd766f37]
**過去のリビジョンの動作確認をしたあと戻る方法 [#w6e4be46]
-[[Git 昔のコミットに戻して動作確認をする:http://tk2-207-...
git reset --hard リビジョン
git reset --hard ORIG_HEAD
*バックアップリポジトリを作成する [#q3019b1b]
**空リポジトリの作成 [#g2ec6cc1]
/home/repository/sample.gitディレクトリに空のリポジトリを...
$ mkdir -p /home/repository/sample.git
$ cd /home/repository/sample.git
$ git --bare init
**オリジナルワークツリーの内容をpush [#dace9143]
$ cd <ワークツリー>
$ git push /home/repository/sample.git master
$ git remote add origin /home/repository/sample.git
***2回目移行のpush(最初は次を実行。それ以降はgit pushだけ...
$ git push -u(--set-upstream) origin master
※[[自分用のGit備忘録 - kanonjiの日記:http://d.hatena.ne.j...
**バックアップリポジトリからcloneして使う [#bd255ac7]
$ git clone /home/repository/sample.git sample.new
**cloneしたワークツリーの内容をpush [#o01979f4]
ざっくり書くと 「git push <反映先> <反映もと>」となる。
$ git push (git push origin masterと同じ)
*共同開発 [#s2406e8e]
**マージ [#zb9cb859]
git pullとgit pushを駆使する。この辺はCSV、Subversionと...
**共用リポジトリ [#bfd14fee]
-プロジェクトのグループメンバーは1つのUNIXグループに属す...
-git init --sharedオプションでリポジトリを作る。
-umask 002とか007を使って、グループのメンバーが書き込める...
#pre{{
umask 002
mkdir -p /home/repository/bigproject.git
cd /home/repository/bigproject.git
git --bare init --shared
}}
*ブランチ [#b0777dee]
**参考情報 [#k2df265d]
-[[Git - ブランチとは:http://git-scm.com/book/ja/Git-%E3%...
-[[Git - ブランチとマージの基本:http://git-scm.com/book/j...
**ブランチを作る [#p33e4f72]
"bugfix-a"というブランチを作り、ワークツリーをそのブラン...
git checkout -b bugfix-a
以下のコマンドと同じ
git branch bugfix-a
git checkout bugfix-a
**現在のブランチを表示する [#p70ff915]
git branch
**ブランチを切り替える [#u81a1624]
git checkout master
git checkout bugfix-a
**ブランチの内容を併合する [#n6058f6f]
バグフィックス用のブランチbugfix-aで行った変更をメインブ...
git checkout master
git merge bugfix-a
**ブランチを後から作る [#x097235b]
現在のワークツリーの内容をブランチとして、3つ戻ったところ...
git branth bugfix-b
git reset --hard master-3
**ブランチ移動の際の変更 [#l8d3969d]
ブランチ移動の際にワークツリーでコミットされていないファ...
現在bugfix-cブランチにいてmaster→bugfix-cに戻るとき次のよ...
git stash
git checkout master
<masterブランチでいろいろ修正>
git checkout bugfix-c
git stash pop
*リモートリポジトリ定義 [#nb32e2e8]
リモートリポジトリに対するエイリアス定義のようなもの?
git remote add sample git://repo.aaa.com/git/sample.git
とすれば以後 git fetch sampleとすれば最新の状態をコピーす...
*公開リポジトリ [#g2054ddb]
-git, ssh, http(webdav)プロトコルを使って公開することがで...
-git cloneするときにプロトコル部分を省略するとsshとみなさ...
終了行:
&tag(git/運用);
*目次 [#t8791a3d]
#contents
*参考情報 [#v1b534bd]
-[[git]]
*リポジトリの初期化 [#m6213818]
フォルダに移動しgit initを実行するだけ。
mkdir myproduct
cd myproduct
git init
*ファイルを追加 [#lf924da4]
**現在のフォルダ以下のファイルをすべて追加 [#aeb24cd4]
git add .
**git add .したのを全部とりけす [#je61f75d]
-[[version control - Undo 'git add' before commit - Stack...
git rm -r --cached .
-そして追加するとき-nつきで実行すればよいとアドバイスされ...
git add -n .
**指定ファイルを追加 [#lfc39bca]
git add sample.txt
**バージョン管理しているファイルをすべて追加 [#c0e50c6b]
git add -u
**バージョン管理しているファイル&新規ファイル [#w6d3a1ed]
git add -A
**.gitignore [#f5017f59]
バージョン管理から除外したいファイルはリポジトリのルート...
*~
*コミット [#p2bef697]
**ログを直接指定 [#l3e007c9]
"-m"オプションでログを直接記録できる
git commit -m "sample.txt added"
**エディタでログを指定 [#a93c4c18]
"-m"オプションを使わない場合エディタが立ち上がる。
-1行目: 変更内容の要約
-2行目: 空行
-3行目以降: 変更した理由の説明。
**一括コミットしたい場合 [#qacd5209]
git commit -a
**変更点を確認しつつコミットログを書く [#z0e37053]
git commit -v
**特定ファイルだけcommit [#te23105b]
git commit sample.txt
**特定ファイルの変更記録要求を取り消す [#c1f99bd0]
git reset sample.txt
*変更点の確認 [#c7eb3f28]
**変更記録をリクエストしてない変更点の表示 [#sce4c205]
git diff
git diffコマンドはgitに変更点を記録したいとリクエストして...
** commitしていない変更点を表示 [#z6f4e958]
git diff HEAD
** 部分変更をインデックスに記録した場合の変更点の表示 [#n...
git diff --cached
*状態の記録をリクエスト [#gbf0a90b]
git addコマンドを使って状態の記録をリクエスト(=インデック...
** 個別にファイルを指定 [#r2db820b]
git add sample.txt
** バージョン管理しているすべてのファイル [#i92921ca]
git add -u
**部分変更 [#s834dcd3]
変更点が2箇所以上ある場合、変更箇所を確認しながらaddする...
git add -p
*状態の確認 [#x0c4ca35]
git status
*履歴の表示 [#y1aa28b1]
**ログを表示する [#jed601a1]
git log --pretty=short
**パスで検索する [#f35d1cf7]
git log --pretty=short sample.txt
**ログメッセージをgrep検索する [#e1800f9d]
git log --pretty=short grep='xxx'
**特定ファイルのログをdiff表示つきで表示 [#i36bcdce]
- git logに-pオプションを付けて試用する。
git log -p ファイルパス
*変更を取り消す [#s76f8da5]
** 過去のコミットを取り消す [#sf9cc8a5]
git revert xxxxx
**ワークツリーの変更を取り消す [#o9f355b5]
-インデックスに記録されている状態に戻す(sample.txtだけ)
git checkout sample.txt
-全体を戻す場合
git checkout .
-最新のコミットの状態に戻す
git checkout HEAD sample.txt
**コミットをなかったことにする [#s2218b0d]
git reset HEAD^を使う。部分コミットしたい場合に間違えたと...
git commit -a # 間違えたコミット
git reset HEAD^ #現在のヘッドの一つ前に戻る。
ワークツリーの内容も戻す場合
git reset --hard HEAD^
**コミットをやり直す [#ecabf10c]
ログメッセージを記録し直したい場合に使う。git reset HEAD^...
git commit --amend
**二つ以上前のコミットを書き換える [#gb093cb9]
HEADから3つ前のコミットを書き換える場合。
git rebase -i HEAD-3
実行するとエディタで指示票の編集画面が表示されるので、pic...
pick xxxxxx あれをこうした
pick yyyyyyy それをあれした
pick zzzzzz それからこうなった。
最初の行のコミットを書き換える場合
edit xxxxxx あれをこうした
pick yyyyyyy それをあれした
pick zzzzzz それからこうなった。
コミットを修正。
git commit --amend
続く混みとを反映する
git rebase --continue
*変更の確認 [#zd766f37]
**過去のリビジョンの動作確認をしたあと戻る方法 [#w6e4be46]
-[[Git 昔のコミットに戻して動作確認をする:http://tk2-207-...
git reset --hard リビジョン
git reset --hard ORIG_HEAD
*バックアップリポジトリを作成する [#q3019b1b]
**空リポジトリの作成 [#g2ec6cc1]
/home/repository/sample.gitディレクトリに空のリポジトリを...
$ mkdir -p /home/repository/sample.git
$ cd /home/repository/sample.git
$ git --bare init
**オリジナルワークツリーの内容をpush [#dace9143]
$ cd <ワークツリー>
$ git push /home/repository/sample.git master
$ git remote add origin /home/repository/sample.git
***2回目移行のpush(最初は次を実行。それ以降はgit pushだけ...
$ git push -u(--set-upstream) origin master
※[[自分用のGit備忘録 - kanonjiの日記:http://d.hatena.ne.j...
**バックアップリポジトリからcloneして使う [#bd255ac7]
$ git clone /home/repository/sample.git sample.new
**cloneしたワークツリーの内容をpush [#o01979f4]
ざっくり書くと 「git push <反映先> <反映もと>」となる。
$ git push (git push origin masterと同じ)
*共同開発 [#s2406e8e]
**マージ [#zb9cb859]
git pullとgit pushを駆使する。この辺はCSV、Subversionと...
**共用リポジトリ [#bfd14fee]
-プロジェクトのグループメンバーは1つのUNIXグループに属す...
-git init --sharedオプションでリポジトリを作る。
-umask 002とか007を使って、グループのメンバーが書き込める...
#pre{{
umask 002
mkdir -p /home/repository/bigproject.git
cd /home/repository/bigproject.git
git --bare init --shared
}}
*ブランチ [#b0777dee]
**参考情報 [#k2df265d]
-[[Git - ブランチとは:http://git-scm.com/book/ja/Git-%E3%...
-[[Git - ブランチとマージの基本:http://git-scm.com/book/j...
**ブランチを作る [#p33e4f72]
"bugfix-a"というブランチを作り、ワークツリーをそのブラン...
git checkout -b bugfix-a
以下のコマンドと同じ
git branch bugfix-a
git checkout bugfix-a
**現在のブランチを表示する [#p70ff915]
git branch
**ブランチを切り替える [#u81a1624]
git checkout master
git checkout bugfix-a
**ブランチの内容を併合する [#n6058f6f]
バグフィックス用のブランチbugfix-aで行った変更をメインブ...
git checkout master
git merge bugfix-a
**ブランチを後から作る [#x097235b]
現在のワークツリーの内容をブランチとして、3つ戻ったところ...
git branth bugfix-b
git reset --hard master-3
**ブランチ移動の際の変更 [#l8d3969d]
ブランチ移動の際にワークツリーでコミットされていないファ...
現在bugfix-cブランチにいてmaster→bugfix-cに戻るとき次のよ...
git stash
git checkout master
<masterブランチでいろいろ修正>
git checkout bugfix-c
git stash pop
*リモートリポジトリ定義 [#nb32e2e8]
リモートリポジトリに対するエイリアス定義のようなもの?
git remote add sample git://repo.aaa.com/git/sample.git
とすれば以後 git fetch sampleとすれば最新の状態をコピーす...
*公開リポジトリ [#g2054ddb]
-git, ssh, http(webdav)プロトコルを使って公開することがで...
-git cloneするときにプロトコル部分を省略するとsshとみなさ...
ページ名: