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

时间:2018-05-14 20:41:44

标签: git azure-devops directory push

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

myfolder/
    .git
    folder1
    folder2
    folder3
    folder4
    .gitignore

我在此文件夹中执行了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

其中 VSTS_folder 是存储库的名称。 greenFolder redFolder yellowFolder 已经有了一些代码。我想做的是将我的本地内容推送到 blackFolder 远程文件夹,该文件夹为空。我试图避免弄乱回购并将我的东西推到根。我正在使用git remote add origin https://helloworld.visualstudio.com/VSTS_folder/_git/VSTS_folder/blackFolder,但这不起作用。实现这个目的的git命令是什么?谢谢。

3 个答案:

答案 0 :(得分:2)

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

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

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

您也可以坐下来阅读Git教程,以便更好地理解这些概念。

答案 1 :(得分:1)

对于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

现在本地的东西被推送到blackFolder下的VSTS git仓库。

答案 2 :(得分:0)

git add .\<folder name>
git push

这应该是您所需要的。我刚刚做到了