我本來在開發 AMP 的程式, 所以從 source code clone 了一個新的開發目錄, 稱 A, 再從 A clone 一個新的開發目錄, 稱 B.
這時在 B 的目錄下, 沒有辦法直接 push 回 A , 因為 A 內有 source code , 所以只好再開一個新的空 git, 往上推.
假設主要的 tracking branch name 是 major. (一般用 origin or master, btw, 我是從別的地方再 clone 過來的, 所以不用此名)
創立一個新的空 git 目錄.
$ cd /data/prj/AMP/core-data $ git init --bare
在 source code A 下, 建立一個新的 remote
$ git remote add test /data/prj/AMP/core-data $ git push test major
在 source code B 下, 加入一個新的 remote, 用 git reset –hard 是清除所有的改變, 以便 pull
$ git diff $ git reset --hard $ git remote add test /data/prj/AMP/core-data/bare/ $ git pull test major
* 若是遇到這種情形, 可以檢查是不是這個檔在是 untracked, 可以用 $ git status 查看. 如果是 untracked, 可以刪除.
$ git pull test major From /data/prj/AMP/core-data/bare * branch major -> FETCH_HEAD error: Untracked working tree file 'kernels/linux-2.6.35.12/arch/arm/kernel/real-amp.c' would be overwritten by merge. Aborting
git 功能太多 :-/
On this day..
- NDS + DS-XTREME - 2006








1 Comments.