Tag Archives: git

git subversion

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

[GIT] 將現有的目錄改成 bare 並且修改 remote server

git 如果從另一個目錄 clone 出來, 兩邊都有 source code, 是不能直接 master push 到 master 的.
會出現錯誤訊息
[TEXT]
git push error ‘[remote rejected] master -> master (branch is currently checked out)’
[/TEXT]

這時可以產生另一個 bare 目錄, 然後到 git 目錄內下指令, 將該目錄變成 bare
[BASH]
# cp -a (path_to_source_dir) (path_to_bare_dir)
# cd (path_to_bare_dir)
# git config –bool core.bare true
# rm (all source code)
# mv .git/* .
# rmdir .git
[/BASH]

這樣就可以了.

原來的目錄可以修改 remote url 的方式指到新的目錄
[BASH]
# cd (path_to_source_dir)
# git remote set-url origin //(path_to_bare_dir)
[/BASH]

這時有 source code 的目錄還是用 git push/pull 更新 source code.
如果是 bare 的話就是 git push, git fetch/merge 更新 source code.

Ref web.
http://stackoverflow.com/questions/2816369/git-push-error-remote-rejected-master-master-branch-is-currently-checked
http://stackoverflow.com/questions/2432764/how-to-change-a-remote-repository-uri-using-git

git 筆記: 如何將現有的 Tree 推到 remote

我本來在開發 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 目錄.
[BASH]
$ cd /data/prj/AMP/core-data
$ git init –bare
[/BASH]

在 source code A 下, 建立一個新的 remote
[BASH]
$ git remote add test /data/prj/AMP/core-data
$ git push test major
[/BASH]

在 source code B 下, 加入一個新的 remote, 用 git reset –hard 是清除所有的改變, 以便 pull
[BASH]
$ git diff
$ git reset –hard
$ git remote add test /data/prj/AMP/core-data/bare/
$ git pull test major
[/BASH]

* 若是遇到這種情形, 可以檢查是不是這個檔在是 untracked, 可以用 $ git status 查看. 如果是 untracked, 可以刪除.
[BASH]
$ 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
[/BASH]

git 功能太多 :-/

git 和 filesystem 的 Performance

前二天因為硬碟壞掉, 所以硬碟升級成 raid1. 而 file system 手賤換成 xfs.
這個星期我都在查詢 system 的 performance 問題.

因為我 git 的各項操作實在是太慢了.
慢到整個系統大概可以和 P5 比吧 (反正就是慢慢慢)
Read more »

git gc: Out of memory, malloc failed

不知道什麼時候, 跑 Git gc 的時候, 會出現這樣的訊息.
但是這並不是主系統記憶體太小(事實上我有 8G).

Read more »