Linux, 工作, 生活, 家人

Programming

git subversion

git 真是很難操控的東西. 好像寫了很多次, 但是都忘記怎麼用..

# git svn clone svn://blah blah

Update source code.
# git svn fetch
# git svn rebase

git 不能用 bare 當作 svn 的 repository. 只能用 work repository
所以如果有其他目錄 clone 出去要 commit 進來時, 可以用這個指令

# git push origin master:origin
將自己的 master 推到 remote 的 origin 去, 有時候 origin 存在時無法 push, 就換另一個名字再 push.

# git push origin master:origin3

然後在原來的 repository 應該就可以 commit 了
# git svn dcommit

如果沒有辦法, 可以切到 master
# git checkout master
再下 cherry-pick (只上 patch), 如果什麼都不下, 就是只上一個 patch
# git cherry-pick origin
如果要上很多 patch
# git cherry-pick start_patch^..end_patch
這邊要用 start_patch 的前一版, 我也不知道為什麼啦.

如果一次改了很多 bug 要分別 patch
可以用
# git add -p
這時候就會一個 diff 一個 diff 列, 命令列還有 s (split), e(edit) 可以將 diff 分成兩個和修改.

做完之後
# git diff –cached
看己經儲存的 patch
# git commit
不能用 -a , 這樣會連其他的一起 commit

commit 錯了
# git reset HEAD^
可以重新 commit 一次
清除 code.
# git reset –hard
如果只是打錯 commit 的說明
# git commit –amend

其他太複雜的就暫時不研究了.

2 留言

  1. 堯峻

    大大你好,我從09年就看過大大的痛風治療過程,我也因為痛風而感到非常的痛苦,不瞞您說,好幾次發作的時候我都想把自己的腳鋸掉,而現在我也快結婚了,也自覺不能再拖下去,因為結婚後要肩負起更大的責任,我不能因為痛風的問題倒下,所以有很多事想要請教大大,不知道您能賞個聯繫方式,FB、LINE都可以,期待您的消息,謝謝!

  2. 文章作者的留言

    我在文章內有寫連絡方式和條件. 恕不再回答.

發佈留言