如何解决如何从一个分支复制到另一个分支-文件将成为主文件?
我正在尝试从另一个分支添加一些文件,但是这些文件正被放到master上。
如何将文件从一个分支复制到另一个分支?
我尝试过一个不错的cp
:切换到源分支,复制到/ tmp,切换到目标分支,然后复制。试图添加...但是复制的文件在master
上?!
cd cheese_repo
git branch cheddar
ls
react
cp -r react /tmp
git branch swiss
cp -r /tmp/react .
ls
react
git branch
* swiss
cd react
git branch
* master
为什么这些文件现在位于主文件中?复制它们时,我在swiss
分支中。
这让我陷入了温水...我做了commit
和push
,却没有意识到自己在master
上。直接致力于master
的工作就是no-no
。
如何将我的react
文件放入swiss
分支中进行提交和推送? Tyvm Keith:^)
解决方法
从另一个分支照搬文件 的方法是使用checkout:
git checkout other-branch -- some-file
这会将文件原样放置在工作树和索引的另一个分支上。
,git branch
* swiss
cd react
git branch
* master
似乎react/
是一个子模块,即它有自己的目录.git/
,自己的独立历史记录(提交),自己的分支。
从下面的输出中可以看出,react文件夹本身就是一个存储库。
git branch
* swiss
cd react
git branch
* master
您可以通过在两个文件夹(即,cheese_repo)中进行git remote -v
进行检查并做出反应。它将为您提供原始回购链接。
根据您的问题,您想让您的文件夹在Cheese_repo的swiss分支中作出反应。一旦进入瑞士分支机构,就可以添加和推送。
git branch
* swiss
git add react
git commit -m '<your commit msg>'
git push origin swiss
,
因此,出于后代考虑,git认为该目录是子模块的一部分。
我是通过cd
进入目录并在特定文件上进行git add
来发现的。它引发了此错误:
fatal: Path 'web/react/package.json is in submodule 'web/react'
解决方案是这样的:
- rm -rf
.git
目录中的文件夹 - 运行
git rm --cached path_to_submodule
(不带斜杠)
然后我能够:
-
git add --all react
-
git status
-
git commit -m "My awesome UI"
-
git push
Voila! Bitbucket中正确分支上的文件。
参考:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。