Git推送到远程存储库上的特定文件夹

Tir*_*ing 5 git directory push azure-devops

如何推送到远程存储库中的特定文件夹?我的本地 C 驱动器上有以下结构:

myfolder/
    .git
    folder1
    folder2
    folder3
    folder4
    .gitignore
Run Code Online (Sandbox Code Playgroud)

git init在这个文件夹中执行了命令。之后我做了git add .然后git commit -m "My first commit"现在我想将它推送到包含类似结构的 VSTS远程存储库:

https://helloworld.visualstudio.com/VSTS_folder/_git/VSTS_folder

VSTS_folder/
   greenFolder
   redFolder
   blueFolder
   blackFolder
   yellowFolder
   .gitignore
   README.md
Run Code Online (Sandbox Code Playgroud)

其中VSTS_folder是存储库的名称。greenFolderredFolderyellowFolder已经有一些代码了。我想要做的是将我的本地内容推送到空的blackFolder远程文件夹。我试图避免弄乱 repo 并将我的东西推到根目录。我正在使用,git remote add origin https://helloworld.visualstudio.com/VSTS_folder/_git/VSTS_folder/blackFolder但没有用。实现此目的的适当 git 命令是什么?谢谢。

Dan*_*ann 11

Git 不是这样工作的。您有一个名为 的存储库VSTS_folder。创建该存储库的人并不理解 Git 存储库是什么。

您需要克隆存储库,这将为您提供整个存储库的副本。然后您可以向其中添加其他代码。

如果所有这些文件夹都包含完全独立的项目,它们之间没有任何共享,那么您应该考虑将它们拆分为单独的存储库。

坐下来阅读 Git 教程以更好地理解这些概念也会让您受益匪浅。


Mar*_*Liu 5

对于 Git 版本控制系统,它通过分支(而不是像 svn VCS 那样通过文件夹)将更改推送到远程存储库。

因此,您需要将本地内容移至blackFolder,并从远程存储库(VSTS git repo)中提取更改,最后将分支推送到 VSTS git repo

详细步骤如下:

# In your local git repo
rm -Rf .git #it's uncessary to commit at first in your local repo
git init
git remote add origin https://helloworld.visualstudio.com/VSTS_folder/_git/VSTS_folder -f
mkdir blackFolder
mv * blackFolder
mv .gitignore blackFolder
git pull origin master
git add .
git commit -m 'add local stuff to remote repo blackFolder'
git push -u origin master
Run Code Online (Sandbox Code Playgroud)

现在本地的东西被推送到 VSTS git repo 下blackFolder