将远程合并到git项目的本地子目录中

时间:2016-07-03 11:00:06

标签: git git-pull

我遇到以下情况:本地,分叉和自定义的git项目,它没有维护源的文件夹结构。

~/dwm/dwm/* and ~/dwm/dwmstatus/*是我的git项目的新结构。

我现在想将最新的源代码修补到我的本地仓库中。我git remote add http://git.suckless.org/dwm/然后拉一下。

拉动会忽略子目录(最初应该如何知道)并完全拉入~/dwm/*

问题:如何从源远程合并到〜/ dwm / dwm / *子文件夹? 我尝试了什么:git checkout HEAD dwm/并执行拉动。由于该目录已经是最新的,因此无法解决问题。

1 个答案:

答案 0 :(得分:0)

从您的描述中不清楚您采取了哪些行动。但是如果你的分叉回购(我们称之为fork)完全超过你的原始回购(让我们称之为original),那么在本地回购中将其设置为新远程并从中取出它应该具有重复重组。

工作示例:

## Create original repo ##
git init original
cd original
echo "a" > a.txt
echo "b" > b.txt
git add .
git commit -m "Initial commit"
cd ..

## Clone the original (this is your local copy) ##
git clone original local

## Emulate fork with restructured content ##
cp -r original fork
cd fork
mkdir c d
mv a.txt c
mv b.txt d
git add .
git commit -m "Move stuff around"
cd ..

## Add the fork as a remote and pulling ##
cd local
git remote add fork ../fork
git pull fork master