git-svnを使っていて、git svn dommit
するときに、
掲題のようなエラーメッセージが出た場合、リモートリポジトリとローカルリポジトリのトラッキングブランチの同期が取れていない事が原因かもしれません。
例えば、SVNリポジトリ上で削除されているブランチが、ローカルのgitリポジトリに残ってしまっている場合、以下のようにリモートトラッキングブランチを削除する事で問題を解決できる可能性があります。
1 % git branch -D -r <branch name>
git-svnを使っていて、git svn dommit
するときに、
掲題のようなエラーメッセージが出た場合、リモートリポジトリとローカルリポジトリのトラッキングブランチの同期が取れていない事が原因かもしれません。
例えば、SVNリポジトリ上で削除されているブランチが、ローカルのgitリポジトリに残ってしまっている場合、以下のようにリモートトラッキングブランチを削除する事で問題を解決できる可能性があります。
1 % git branch -D -r <branch name>
しばらく前にインストールしていた git-1.6.0.
1 % git svn branch <branch name>
これで指定したbranchがリモートで作成されます。 あとは、こんな感じでリモートトラッキングブランチをチェックアウトすればOK.
1 % git checkout -b <branch name> <branch name> --track
便利ですね。
[追記] 最後の方、ちょっと不明瞭だったので修正しました。
amend使ったこと無かったのでメモ。
1 # edit comment.rb2 # edit product.rb 3 git commit -am "wrong commit"
そして、下記の順で変更・修正します:
1 git reset HEAD~1 app/models/product.r b
1 git commit --amend
via http://www
@onoさんにこの記事を教えて頂いたのですが、筆者の方はコミットメッセージを再利用するgit ammendコマンドを作っておくという技を使っておられるようです:
1 git config --global alias.amend 'commit --amend -C HEAD' 2 3 #今後(メッセージはそのままで)コミットを修正したい時は下記でOK: 4 git amend
さらに流れ的には、
というワークフローを使って運用。超こまめにコミットして作業したいときに便利そうです!
数字だけのタグだとうまくcoが出来なかった覚えがあるので、renameしました。あと、commitハッシュはフルでなくても、最初の5桁くらいで大丈夫だと思います。
1 % git rev-parse 1.1 2 97f4c33e9a35255b8f85 06ffa90ab7 0605ccf74f
先程入手したcommitハッシュを使って
1 git tag -a -f v1.1 97f4c33e9a35255b8f85 06ffa90ab7 0605ccf74f
完了と思ったら、つけ直しではなく同じcommitハッシュに別のタグをつけるようになっていまようです。なので、不要なタグを削除します
1 % git tag -d 1.1 2 Deleted tag '1.1'
gitリポジトリに間違って追加してしまったファイル等を完全に消去する方法を紹介します。
1 % git filter-branch -f --index-fi lter 'git update-ind ex --remove "filename"' HEAD 2 % git push --force
ディレクトリを削除したい場合は、ディレクトリの中身のファイルを1つずつ全て削除します。
ポイント
gitを使ってリモートリポジトリからfetch&mergeする場合、 git pullを使う事ができます。 git pullは
1 % git pull origin master
のようにリモート名とブランチ名(正確にはrefspec)を指定して使うのですが、以下のような設定を行うと、これを省略できます。
.git/confi
1 [branch "master"] 2 remote = origin 3 merge = master
Today I collided with an issue regarding a git repositorygit status
and check .gitignore
今日はgitリポジトリに関する見つけにくい問題に遭遇しました。
リポジトリのサブディレクトリの中に.gitディレクトリがある場合、そのサブディレクトリ以下が隠されてしまい、git statusや.gitignore
gitを使っていてローカルでつけたタグを、リモートにpushする場合は、
1 % git push --tags
逆に、リモートのタグ情報をローカルに持ってくる場合は
1 % git pull --tags
これでok
via http://new
production
実際にSpeakerRat
submoduleネタをゲットしたのでメモ。
@githubのtwt:
GitHub gem builder will now pull in submodules
prior to the build.
4:05 AM Apr 9th from web
http://twitter.com/g ithub/stat us/1478454 260
てことは配布しているgemではsubmoduleをpullしてくれるってことでしょうか!!
いいですね!
@github is there any plan to have the tarball builder do the same thing?
http://twitter.com/l arrywright /status/14 78514289 @larrywrigh
t not at the moment. We use git-archiv e which, for some unknown reason, doesn't support submodules .
http://twitter.com/g ithub/stat us/1478579 621