1. conflict(競合)したファイルをマニュアルで編集する
マニュアル編集で修正すべき競合箇所の例
1 2 3 4 5 |
<<<<<<< HEAD printf("Hello"); ======= printf("Bye"); >>>>>>> |
1 2 3 4 5 |
<<<<<<< HEAD printf("Hello"); ======= printf("Bye"); >>>>>>> |
「ステージングされていない」かつ「.gitignoreに指定されていない」 Untracked filesを一括して削除する方法
いろいろな IDE, プログラミング言語の .gitignore
集
1 |
$ git mv foo.c bar.c |
1 |
$ git mv -f Readme.txt README.TXT |
1 |
$ git clone git://github.com/schacon/myproject.git |
1 |
$ cd myproject |
1 |
$ git submodule init |
1 |
$ git submodule update |
1 |
$ git submodule update --init |
1 |
$ git submodule update --init --recursive |
git svn clone で取得したリポジトリで以下のwarningが発生するときの回避策
1 2 3 4 5 6 7 8 |
$ git svn rebase W: Refspec glob conflict (ref: refs/remotes/svn/Preview_August@1053): expected path: Src/branches/Preview_August@1053 real path: Src/trunk2 Continuing ahead with Src/trunk2 [...] Continuing ahead with 25_Android_Src Current branch master is up to date. |
~/.git/configの重複行を削除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [svn-remote "svn"] url = http://someone.somewhere.jp/svn/foo fetch = Src/trunk:refs/remotes/svn/trunk branches = Src/branches/*:refs/remotes/svn/* tags = Src/tags/*:refs/remotes/svn/tags/* - branches = Src/branches/*:refs/remotes/svn/* - tags = Src/tags/*:refs/remotes/svn/tags/* |
1 |
git archive --format=tar.gz --prefix=FOO/ HEAD -o foo.tar.gz |
1 |
git archive --format=zip --prefix=BAR-1_4_0/ v1.4.0 -o bar.zip |
--prefix
.gitignore
などアーカイブファイル(tar.gzやzip)から除外したいファイルの設定方法
⇒ .gitattributes
にignore-export
を追記する
1 2 |
.gitignore export-ignore .gitattributes export-ignore |
1 |
$ git tag NEW_TAG_NAME OLD_TAG_NAME |
1 |
$ git tag -d OLD_TAG_NAME |
1 |
$ git push origin :refs/tags/OLD_TAG_NAME |
1 |
$ git push origin NEW_TAG_NAME |
1 |
$ git push --tags origin |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ git svn dcommit Committing to http://10.0.xx.xx/svn/xxx/trunk ... ERROR from SVN: URL access forbidden for unknown reason: access to '/svn/xxx/!svn/act/cc67ae8c-0dbc-4617-b691-8c0d32e2c51c' forbidden W: f0cb8a033f53abad69878f32d49060c566ccefe0 and refs/remotes/trunk differ, using rebase: :040000 040000 82025ea8b1266eb4fb3017c1e5eee026d407b7a2 22b412b9539c90a020752cdb5fc3d961e45ba75a M Classes :040000 040000 297335c9239410a3dfc7a97d2a4f32cd73ed78c7 22e7da8ed21d9875ff8e5c00905b4cd15f25b337 M xxxxx-lib :040000 040000 92f3164b6273cc59da1f07f1b59531b3da72c306 dd4c87d1c3d4a92944bb037d368a51903f9636f0 M xxxxx_xx.xcodeproj Current branch master is up to date. ERROR: Not all changes have been committed into SVN, however the committed ones (if any) seem to be successfully integrated into the working tree. Please see the above messages for details. |
git-svnを使ったコミット(git svn dcommit)に失敗し続けて丸一日悩みました。
rebaseして、mergeして、試行錯誤してようやく判明した原因はSubversionリポジトリに読み取り権限だけが与えられていて書き込み権限は与えられていなかった… 🙁