ma1*_*169 7 git powershell atlassian-sourcetree
我是git的初学者,我有新项目的以下文件夹结构,所以我做的是我去了visual studio,我做了空项目,它有这个文件夹结构:
project: (Repo)
folder1 (sub1)
folder2 (sub2)
Run Code Online (Sandbox Code Playgroud)
我在本地使用git.
我使用sourcetree为项目创建了一个repo,
现在我无法添加任何子模块,我不知道为什么.
每当我尝试时,在powershell中:
PS E:\Projects\Project> git submodule add ./sub1
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
sub1 already exists in the index
Run Code Online (Sandbox Code Playgroud)
然后删除sub1 git rm -r sub1,然后我git submodule add再次重复,我得到了这个新错误:
sub1 already exists and is not a valid git repo
Run Code Online (Sandbox Code Playgroud)
那么我做错了什么?
您只需要在根文件夹中,然后添加子模块文件夹.
git submodule add <url>
Run Code Online (Sandbox Code Playgroud)
现在,当您克隆项目时,您只需要初始化并更新子模块
git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)
Git 1.8.2提供了一个新选项--remote
git submodule update --remote --merge
Run Code Online (Sandbox Code Playgroud)
将从每个子模块的上游获取最新的更改,将它们合并,并检查子模块的最新版本.正如[文档] [1]所说:
--remote此选项仅对update命令有效.不使用超级项目记录的SHA-1来更新子模块,而是使用子模块的远程跟踪分支的状态.
这相当于在每个子模块中运行git pull.
添加子模块意味着在现有模块中克隆另一个git repo并保持对它的引用.
在您的情况下,您没有指定要添加的仓库:
git submodule add -- /url/of/sub1/repo sub1
Run Code Online (Sandbox Code Playgroud)
如果sub1或者sub2不应该是自己的git repos,而是主repo文件夹的简单子文件夹,那么你不需要git submodule add命令.
只需添加文件sub1和sub2,您就可以git add和git commit他们一起.
没有涉及子模块.
| 归档时间: |
|
| 查看次数: |
8037 次 |
| 最近记录: |