将远程合并到 git 项目的本地子目录
Merge remote into local subdirectory of a git project
我有以下情况:本地、分支和自定义的 git 项目没有维护源的文件夹结构。
~/dwm/dwm/* and ~/dwm/dwmstatus/*
是我的 git 项目的新结构。
我现在想将最新的源修补到我的本地存储库中。我 git remote add http://git.suckless.org/dwm/
拉了一把。
发生的情况是拉动忽略了子目录(它一开始应该怎么知道)并完全拉入 ~/dwm/*
.
问题:如何从源远程合并到 ~/dwm/dwm/* 子文件夹?
我尝试了什么: git checkout HEAD dwm/
然后执行拉动。这并没有起到作用,因为目录已经是最新的了。
从你的描述中不清楚你采取的行动顺序。但是,如果您的分叉回购(我们称之为 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
我有以下情况:本地、分支和自定义的 git 项目没有维护源的文件夹结构。
~/dwm/dwm/* and ~/dwm/dwmstatus/*
是我的 git 项目的新结构。
我现在想将最新的源修补到我的本地存储库中。我 git remote add http://git.suckless.org/dwm/
拉了一把。
发生的情况是拉动忽略了子目录(它一开始应该怎么知道)并完全拉入 ~/dwm/*
.
问题:如何从源远程合并到 ~/dwm/dwm/* 子文件夹?
我尝试了什么: git checkout HEAD dwm/
然后执行拉动。这并没有起到作用,因为目录已经是最新的了。
从你的描述中不清楚你采取的行动顺序。但是,如果您的分叉回购(我们称之为 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