【问题标题】:Upload project folder to specific location (subfolder) in private git repo将项目文件夹上传到私有 git repo 中的特定位置(子文件夹)
【发布时间】:2019-12-21 03:31:43
【问题描述】:
我正在尝试使用终端将项目文件夹上传到私人仓库上的特定位置,但我遵循的过程似乎不起作用。特别是,我要上传文件的文件夹具有以下路径:
https://github.com/username/repo_name/tree/master/folder_where_I_want_to_upload_another_folder
我尝试在本地文件夹中执行以下操作:
git init
git add .
git commit -m "my commit"
git remote add origin <remote repository folder URL>
git push origin master
你知道如何解决这个问题吗?
【问题讨论】:
标签:
git
macos
github
github-for-mac
【解决方案1】:
我处理这个问题的方法是首先克隆 repo
git clone https://github.com/username/repo_name.git
然后从这里开始,如果folder_where_I_want_to_upload_another_folder 不存在,您需要创建它。在此处添加您要上传的文件/文件夹。
如果你只是想上传一个空文件夹,你不能。来自git FAQs:
目前 Git 索引(暂存区)的设计只允许列出文件,并且没有足够能力做出更改以允许空目录的人足够关心这种情况来补救它。
在目录中添加文件时会自动添加目录。也就是说,目录永远不必添加到存储库中,并且不会自行跟踪。
你可以说“git add”,它会在那里添加文件。
如果您确实需要在结帐中存在一个目录,您应该在其中创建一个文件。 .gitignore 可以很好地用于此目的(还有一个使用 .NET 框架的工具 MarkEmptyDirs 允许您自动执行此任务);您可以将其留空或填写您不希望出现在目录中的文件的名称。
所以现在知道了这一点,添加一个空的.gitignore,或者,我更喜欢的是添加一个自述文件来解释拥有一个空文件夹的目的。
然后从 repo 的根目录运行
git add folder_where_I_want_to_upload_another_folder
git commit -m "Added files and folders"
git push origin master