mkdir topdir
mkdir another-git-directory
touch fileC
touch fileD
git add.
git commit -m"sub-dir init"
cd ..
touch fileA
touch fileB
git add.
git commit -m"top-dir init"
git ls-files
//现在我们可以看到fileC和fileD没有被顶级git跟踪//
git ls-files -o
//这不会向我们展示fileC和fileD as untracked files //
我的问题是:如何让"git ls-files -o"显示子目录中未跟踪的文件?为什么git表现得如此,因为我希望git ls-files显示所有未跟踪的文件(即使它在另一个sub-dir git中)?
我知道我可以使用"git add*/."来制作顶级git来跟踪sub-dir文件......但我很想知道上面这个问题的原因.谢谢!
目录结构
Run Code Online (Sandbox Code Playgroud)topdir + +-- .git +-- fileA +-- fileB + another-git-directory +-- .git +-- fileC +-- fileD
我发现这个线程无法跟踪Git子模块中的文件和这个url(cn)http://blog.ossxp.com/2010/01/425/,它解释了如何解决问题.
解决方案:
git rm --cached another-git-directory #no trailing slash
git add another-git-directory /. …
我正在研究项目A,A依赖于快速开发的项目B(它的主分支).
因此,B是A的子模块,每次我建A,B也重建.此外,每次B有一个新的提交,我需要构建B,然后重新构建A.(幸运的是,项目足够小,所以编译时间并不重要).
现在,这就是重点.当项目A或B中有新的提交时,我想在Travis CI或其他持续集成服务中触发新的构建.
我刚试过Github&Travis CI.项目B中的提交不会触发项目A中的构建.是否有一种简单的方法来运行这种持续集成?
是否可以下载仅包含工作目录的存储库的子模块?
如果我从GitHub下载存储库的tarball,这相当于没有该.git文件夹的浅层克隆,是否可以将子模块"下载"到工作目录中?
我试过git init && git submodule update --init,但这既没有初始化也没有更新子模块.该.gitmodules文件位于当前目录中.
更新:关于这个问题的更多背景:我们想使用tarball来检查Travis CI的存储库,但是有些人使用git子模块.因此,"不要使用Git子模块"不是一个好的答案,但答案实际上也不一定是可维护的.我只想要一个已检出代码并初始化子模块的文件夹,不需要任何允许我稍后进行更多更改的内容.
我正在使用 GIT 和 Bitbucket。在使用 Git 子模块时,我无法立即将不同子模块中所做的所有更改拉取到我的主分支“MASTER”。有没有一种方法可以跨多个子模块创建一个拉取请求。
我是一个 git 新手。我的 git 存储库包含子模块引用。我有一个接收后钩子可以将存储库内容检出到我的网络目录中:
#!/bin/sh
GIT_WORK_TREE=/home/www/hello_world_php git checkout -f
Run Code Online (Sandbox Code Playgroud)
(根据这篇博文。)
它工作正常,只是 www 目录中的子模块目录未填充。
怎么修?
我们有一个大型 C++ 存储库,大小为 80 GB,包含近 200,000 个文件,包含多个组件。
库(档案)对于更多数量的紧密耦合的组件来说是常见的。
这样,所有 git 操作以及编译/构建特定组件都会花费太长时间。
请建议我如何将这个单个存储库划分为多个存储库。
好像我有一个丢失的树错误。公平地讲,我完全只是在git上弄乱了我的本地文件,并且受够了,在回购协议上做了完整的硬盘删除,并从远程主服务器重新克隆了。现在,我收到以下错误。我要做的第一件事就是为我的工作创建一个本地分支。
如果我不删除所有内容,而是通过时态,我很有可能恢复很多工作,对吗?(这可能也显示了我现在在git和项目中的状态……)
如果有什么不同,我在做一个android项目。
我正在阅读 这篇文章,它似乎很有帮助,但是我不知道如何找到我的“ a30df1173f14dea24df661f1eef749fed2f4e1ed” sha1哈希。
在做
git ls-tree a30df1173f14dea24df661f1eef749fed2f4e1ed
给我以下
100755 blob 2851ba4fdf2a134f8fc97fd60b3045b73cd6039b .DS_Store
100755 blob 3f9691c5dda29b09cb96060fd6ec7017f6c671d2 .classpath
100755 blob c50d3b4fe2f6221db617840561dc94d7690bb883 .gitignore
100755 blob 6b58f1723a252cfd314d108fadac4b71a4209c1c .project
100755 blob 39f00018845d776de324707090d26c5153720e22 AndroidManifest.xml
100755 blob 94a9ed024d3859793618152ea559a168bbcbb5e2 COPYING
100755 blob c1853e4c312a938d5890f5f4e0844782429ba11e default.properties
040000 tree 423accda532f8788f916b26b863ddf32e2896aa6 docs
160000 commit 0000000000000000000000000000000000000000 eagle vision
100755 blob 424f2604203eabd2310165b143b430326aa87ee7 ic_launcher-web.png
040000 tree 2b83cd828cd11a11e84a2d8f646dfa40de109827 libs
100644 blob 8a7b1fac8f8c12e925e56776f225730c4712f92a lint.xml
040000 tree c0182f719fccf5fc8b0d7658c3d15fe4deac0d9e plugins
100755 blob f2fe1559a217865a5454add526dcc446f892385b proguard-project.txt
100755 blob 9ae01de96458dbded45d2a442c09c0f4d33e473a project.properties
040000 tree 3c9446b3bb23eebe80942992ee03e01a7390ba80 res
040000 tree …Run Code Online (Sandbox Code Playgroud) https://github.com/Uni-/shBrushesCollection
我打开了一个GitHub repo并在GitHub web源编辑器中编写了.gitmodules.当我克隆rpo时,我发现.gitmodules中的子模块没有被初始化.
我想我几乎尝试了所有命令,包括update,init,update --init等等.有没有办法使用当前的.gitmodules文件,而不是子模块添加?
对于我正在进行的项目,我们决定开发一个工具来帮助开发,因此这不应该在生产中.
所以我想知道,因为git非常棒,如果有一个功能可以阻止某些文件(是的,只有文件:这是一个Magento项目,我们要开发的工具将在他自己的模块中,没有交集应用程序的其余部分)将合并为master,但应该在其他分支中可用.
我们正在考虑使用git-flow,如果这有帮助的话.所以我们将拥有主人,我们将从中创建开发,从中创建我们所有的功能分支.我们的想法是让这个模块开发,但永远不会合并回主人.
我现在在想,只是在主分支中忽略那些文件(.gitignore),这会有用吗?
编辑1:项目结构
我觉得我必须提供有关项目结构的更多信息,它来了:
+ main_folder/
+ magento/
|---+ app/
| |--+ code/
| | |--+ community/
| | |--+ core/
| | |--+ local/
| | |--+ Namespace1/
| | |--+ Module1/
| | |--+ Module2/
| | |--+ Namespace2/
| | |--+ Module1/
| | |--+ Module2/
| |--+ design/
| | |--+ frontend/
| | |--+ default/
| | |--+ default/
| | |--+ layout/
| | |--+ template/
| + …Run Code Online (Sandbox Code Playgroud) 我在项目中添加了 2 个子模块,subA 和 subB,位于 externals/subA 和 externals/subB 中。
今天,另一位团队成员提交了他的代码,当它被拉取时,在git statusexternals/subA 和 externals/subB 中使用时,subA 和 subB 都显示分离头状态。
我先做了git submodule update,没有报告任何错误。我一次又一次地尝试,git submodule init但git submodule update它没有改变。
我们如何才能使子模块恢复同步?子模块出现这种情况的原因是什么?自我们开始以来,这是第一次出现问题。谢谢。
我刚刚意识到我错误地从子目录运行了'git init'命令,然后在我项目的根目录下创建了一个主仓库.
这是一个错误,所以我运行'rm -fr'
嵌套目录'.git'上的命令(删除)不在项目的根目录中 - 认为这可以解决我的问题(我有多错)
现在的问题是,当我将项目推送到GitHub时,嵌套文件夹会变灰,就像它被忽略一样.
有没有办法撤消我所做的事情?或者我只需要重新开始?我是新手,并且正在尝试完成一个示例应用程序教程,但我看似破坏的目录对于生产环境中的部署至关重要.
嘿所以我把一个新的文件夹推送到我的GitHub存储库,而且它是灰色的.为什么?
我是git的新手,并且可能已经做了一些事情来引发这个,所以我怎么能从新鲜开始呢?
这是我的回购链接:https://github.com/ZoidinCode/ZoidinCode.github.io/tree/master/dist
我卸载了Git,然后重新安装它,这已经发生了:(
Git的方法:
cd desktop/Artificial-Reason-1.4.6
bash: cd: desktop/Artificial-Reason-1.4.6: No such file or directory
XXXX~/desktop/Artificial-Reason-1.4.6 (master)
$ git add dist/header_light_dark
XXXX ~/desktop/Artificial-Reason-1.4.6 (master)
$ git commit -m "First commit to GitHub"
[master 0e2035b] First commit to GitHub
1 file changed, 1 insertion(+)
create mode 160000 dist/header_light_dark
XXXX ~/desktop/Artificial-Reason-1.4.6 (master)
$ git push origin master
Counting objects: 1229, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1223/1223), done.
Writing objects: 100% (1229/1229), 49.79 MiB …Run Code Online (Sandbox Code Playgroud) 我已将 Xcode 项目添加到 git 存储库中。当我运行以下命令时:
$ git submodule init
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
fatal: No url found for submodule path 'Pods' in .gitmodules
Run Code Online (Sandbox Code Playgroud)
我没有添加“Pods”子模块,它是自己添加的吗?