Archive for the ‘git’ Category

 

git 消えたファイルを復帰出来るのか?

3月 31st, 2015

ファイルが全部消えました・・・ ・cloneして、いろいろ設定してある程度ベース開発が出来たところで、 必要なファイルをすべて git add したけど なんか?と思い git pull してみました。。。 addしたファイルが全部消えました・・・ ・他で、ほぼ空で最初のコミットがされていてその状態がHEADとなって、その状態になりました。 通常だと、addしたファイルは当然残るのですが、まだ一度もcommitしていないと headの状態になるだけのようで・・・ add してないファイルだけ生き残っています・・・ $ git reflog 94c508c HEAD@{0}: initial pull initial pullの文字が。 .gitの中にはいろいろファイルがあるのでもしかしたら生き残りがいるかもと 調べるとaddしたファイルは復帰出来る可能性が・・・ $ git fsck –lost-found dangling blob ec7fa6ddc2bf0f237e52d8b9d4050443547cfba2 dangling blob f01f8be35c60be0887fe9982426e68493ac9b45a –lost-found または –fullも同じ内容でした .git/lost-found/other に入っているファイルのようですね これは復帰出来るらしく git unpack-file ec7fa6ddc2bf0f237e52d8b9d4050443547cfba2 で .merge_file_q1LV3t のようなファイルに展開されました。あまり意味ないような・・・ とりあえず、作ったファイルと、設定ファイルの内容は確保出来ました。 しかし、配置、ファイル名はまだ戻っていません・・・ tree objectがあると git read-tree […]

Read full article | コメントは受け付けていません。

別のブランチから特定のファイルのみ持ってくる

10月 4th, 2013

特定のコミットをマージするには、cherry-pickやパッチですが mergeした際にconflictしてファイルとディレクトリの名前が被っていたので・・・ conf/memcachedをgit rm -rで一旦mergeのときは削除しておきました。 その後、別ブランチから特定のファイルのみcheckoutしました。 $ git checkout dev conf/memcached $ git status # On branch master # Your branch is ahead of ‘origin/master’ by 12 commits. # # Changes to be committed: # (use “git reset HEAD …” to unstage) # # new file: conf/memcached/memcached # new file: conf/memcached/memcached.backend # new file: conf/memcached/memcached.category […]

Read full article | コメントは受け付けていません。

git 複数のコミットを反映する git format-patch apply

6月 11th, 2013

git-format-patch git-rev-parse $ git log commit 9e85625873ca9430bc1721f839909713d420cdae    update person level 50 commit bc1c6ba29efad073b0de1b23c6ee0bab5d9f88dc    fix seed master.py commit 644e8dce02415cb9be1e5100599eb0ec89489eaf    added seed 3006-3010 commit f3be103c0179fff6790e07693da7081ee2f27c58    until level 50 commit a0d57c60ff02b31c21fef0439753e9b487fcc3f2    update 3006-3010 seeds コミットを指定 $ git format-patch 644e8dce02415cb9be1e5100599eb0ec89489eaf -o patch patch/0001-fix-seed-master.py.patch patch/0002-update-person-level-50.patch 指定したコミットの後からheadまでがパッチとなる。 範囲指定 $ git format-patch f3be103c0179fff6790e07693da7081ee2f27c58..bc1c6ba29efad073b0de1b23c6ee0bab5d9f88dc -o patch patch/0001-added-seed-3006-3010.patch patch/0002-fix-seed-master.py.patch […]

Read full article | コメントは受け付けていません。

git cherry-pick : 特定のcommitをマージする

5月 29th, 2013

git checkout dev git log commit cbd071da2516d91a2479716ff8c3b92a7f5f1c27 Author: Junichi Otake Date: Mon May 27 17:51:42 2013 +0900 fix preall init とこのコミットだけをmasterに反映する git checkout master git cherry-pick cbd071da2516d91a2479716ff8c3b92a7f5f1c27 commit 43eb3799f961e762b691d26f92ff259b5111e18d Author: Junichi Otake Date: Mon May 27 17:51:42 2013 +0900 fix preall init diff –git a/view/sp/scripts/sample/result.php b/view/sp/scripts/ index a70c85e..51def8a 100644 — a/view/sp/scripts/sample/result.php +++ b/view/sp/scripts/sample/result.php @@ -10,6 […]

Read full article | コメントは受け付けていません。

git ある特定の commit のみ取り消す。

5月 27th, 2013

例えばgit logでこんな感じのとき update jsだけを取り消したい。 commit 87d3f94be414802fe94e1c2c886596ecd26f3f2b Author: Junichi Otake Date: Mon May 27 15:22:06 2013 +0900 delete new items ! commit d5d366f6a9be5a9a0657231b048f206ccd0fd72d Author: Junichi Otake Date: Thu May 23 14:56:59 2013 +0900 update js commit ae27735597e927982d39c95e7d49244c8335bcd7 Author: Junichi Otake Date: Wed May 22 18:41:21 2013 +0900 add promoteBabyGrowth ログの詳細を確認 git log –stat で変更ファイルを確認 commit d5d366f6a9be5a9a0657231b048f206ccd0fd72d […]

Read full article | コメントは受け付けていません。

git tag between branches

5月 23rd, 2013

複数エディションの管理をブランチ切り分けで使用してみようと思い。 ざっくりと dev – dev_a – dev_b release – release_a – release_b のような形で利用してみます。 tagの話ですが、tagはどの地点かだけなので、branchは関係なくrepositoryで共通です。 ので、tagの名前で切り分けます。 va1.0.0 vb1.0.0 のような git tag -l ‘va*’ で a のtagを見る事が出来ます。

Read full article | コメントは受け付けていません。

git pull branch

5月 23rd, 2013

別エディションを同じrepositoryで管理してみています。 ./git/config [core]  repositoryformatversion = 0  filemode = true  bare = false  logallrefupdates = true [remote "origin"]  fetch = +refs/heads/*:refs/remotes/origin/*  url = /home/git/home/catwork [branch "master"]  remote = origin  merge = refs/heads/master [branch "nextb"]  remote = origin  merge = refs/heads/nextb 別ブランチもリモートで管理する 一度、新しいbranchをpush git push origin nextb configを設定すると git pull / git push をそのまま利用出来る

Read full article | コメントは受け付けていません。

git tag –delete origin tagname

4月 7th, 2013

remote tagを削除 $ git tag -d v1.2.4 $ git push –delete origin v1.2.4 To 127.0.0.1:/path/to/git – [deleted]         v1.2.4 こんな感じ。

Read full article | コメントは受け付けていません。

git tag 更新、削除

2月 6th, 2013

リモートにプッシュしたtagを更新、削除する。 更新 git tag -d testtag git tag -a testtag -m “update tag” git push origin testtag 削除 git tag -d testtag git push –delete origin testtag こんな感じ。

Read full article | コメントは受け付けていません。

git stash

11月 9th, 2012

詳細はこちら http://git-scm.com/book/en/Git-Tools-Stashing 以前のメモが変?だったので再度 $ git pullしたらconflictしたので、 $ git stash $ git stash list stash@{0}: WIP on master: 465a0a6 set generate Rank ひとつ退避して、最新に更新 $ git pull 退避した物を適用 $ git stash apply Auto-merging web/touch/js/game_dev.js CONFLICT (content): Merge conflict in web/touch/js/game_dev.js コンフリクトを確認&修正 $ git diff diff –cc web/touch/js/game_dev.js index 0e342da,741b25c..0000000 — a/web/touch/js/game_dev.js +++ b/web/touch/js/game_dev.js @@@ -644,7 -642,7 +644,11 […]

Read full article | コメントは受け付けていません。