我有一个funfun历史悠久的GitHub存储库。我有另一个GitHub存储库TBD。
现在,我想将文件夹移动到该文件夹funfun下TBD,然后从现在开始,我将仅在存储库上工作TBD。我希望funfun保留提交历史。
我遵循此解决方案。结果如下:
MBP:TBD$ ls
OCaml README.md
MBP:TBD$ git remote add funfun ../funfun
MBP:TBD$ git fetch funfun --tags
warning: no common commits
remote: Counting objects: 11874, done.
remote: Compressing objects: 100% (4286/4286), done.
remote: Total 11874 (delta 9020), reused 9813 (delta 7494)
Receiving objects: 100% (11874/11874), 21.98 MiB | 20.68 MiB/s, done.
Resolving deltas: 100% (9020/9020), done.
From ../funfun
* [new branch] master -> funfun/master
MBP:TBD$ git merge --allow-unrelated-histories funfun/master
warning: Cannot merge binary files: .DS_Store (HEAD vs. funfun/master)
Auto-merging README.md
CONFLICT (add/add): Merge conflict in README.md
Auto-merging .DS_Store
CONFLICT (add/add): Merge conflict in .DS_Store
Automatic merge failed; fix conflicts and then commit the result.
MBP:TBD$ git remote remove funfun
MBP:TBD$ ls
Addins bin package-lock.json units
OCaml config package.json views
README.md git.sh public webpack.config.js
addin models routes
app.js output.csv ssl
Run Code Online (Sandbox Code Playgroud)
当我在TBDGitHub网站上查看时,funfun未添加。
是因为Automatic merge failed; fix conflicts and then commit the result.吗?有谁知道如何修理它?
PS:有一个子文件夹TBD\funfun\或将下面的所有子文件夹都funfun放在下面TBD(如上)很好,我以后总是可以安排文件夹。
你已经完成了大部分工作。现在只是解决合并冲突。让我们一一解决。
CONFLICT (add/add): Merge conflict in README.md
Run Code Online (Sandbox Code Playgroud)
这个非常简单。该README.md文件存在一些冲突,您可以通过编辑该文件并保存其中所需的任何内容来手动修复这些冲突。确保删除Git 用来显示冲突的带有<<<<<<<,=======和的行。>>>>>>>进入下一个。
CONFLICT (add/add): Merge conflict in .DS_Store
Run Code Online (Sandbox Code Playgroud)
它.DS_Store是在 Mac 上创建的,您可以通过运行 来查看它ls -a,并且通常应通过将其添加到.gitignorerepo 目录根目录下的文件来从源代码管理中忽略它。由于尚未完成,因此该文件也发生冲突。.DS_Store因此,现在您应该首先在 repo 目录的根目录下运行以下命令,从 repo 目录中删除所有出现的:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
Run Code Online (Sandbox Code Playgroud)
接下来,如果您已有文件,请在该文件中.gitignore添加一行。.DS_Store否则,通过命令在 repo 目录的根目录下创建并添加条目
echo .DS_Store >> .gitignore
Run Code Online (Sandbox Code Playgroud)
接下来只需按通常的方式提交更改即可
git commit -am "Commit message"
Run Code Online (Sandbox Code Playgroud)
然后推送更改
git push origin master
Run Code Online (Sandbox Code Playgroud)
完工!
| 归档时间: |
|
| 查看次数: |
189 次 |
| 最近记录: |