Archive for the ‘Linux’ Category
合并不同的git仓库
2月 2, 2012
留下评论
“How to megre two git repository?”
假设有两个不同的git代码仓库repoA和repoB, 而我们希望将其在本地合并到一个git仓库”Code”,该如何完成呢?
我们期望将repoA的代码checkout到”Code/sourceA”中, repoB中的代码在”Code/sourceB”中。
在本地的git repository中开一个新的branch:
git checkout -b merged
首先,先检出repoA的代码:
git remote add -f repoA url_to_repoA git merge -s ours --no-commit repoA/master git read-tree --prefix=Code/sourceA -u repoA/master git ci -m "merge repoA into our local repo"
然后,再检出repoB的代码
git remote add -f repoB url_to_repoB git merge -s ours --no-commit repoB/master git read-tree --prefix=Code/sourceB -u repoB/master git ci -m "merge repoA into our local repo"
这样,本地的git仓库中的merged分支即合并了repoA和repoB的master
特别地, 在本地repoB作为repoA的子目录,即repoA的代码在Code中, 而repoB的代码在Code/sourceB中:
cd Code git clone url_to_repoA git remote add -f repoB url_to_repoB git merge -s ours --no-commit repoB/master git read-tree --prefix=Code/sourceB -u repoB/master git ci -m "merge repoB into repoA"
gdb的远程调试
12月 23, 2011
留下评论
gdb的远程调试通过gdbserver和gdb配合完成, 在目标主机上运行gdbserver,宿主主机上通过gdb与gdbserver通信进行调试。
例如,需要调试目标机器上的chromium。
首先通过gdbserver来attach到需要被调试的chromium进程。gdbsever需要指定gdb与server通信的方式,通常采用TCP的方式,假设gdbserver在目标主机上的监听地址为”:8899″ (127.0.0.1:8899),下面的命令完成这一步周:
target$gdbserver :8899 --attach 13506 Attached; pid = 13506 Listening on port 8899 Remote debugging from host 127.0.0.1
分类:Linux