相关疑难解决方法(0)

将Git子模块更新为最新的原始提交

我有一个带有Git子模块的项目.它来自ssh:// ... URL,并且在提交A.提交B已被推送到该URL,我希望子模块检索提交,并更改为它.

现在,我的理解是git submodule update应该这样做,但事实并非如此.它没有做任何事情(没有输出,成功退出代码).这是一个例子:

$ mkdir foo
$ cd foo
$ git init .
Initialized empty Git repository in /.../foo/.git/
$ git submodule add ssh://user@host/git/mod mod
Cloning into mod...
user@host's password: hunter2
remote: Counting objects: 131, done.
remote: Compressing objects: 100% (115/115), done.
remote: Total 131 (delta 54), reused 0 (delta 0)
Receiving objects: 100% (131/131), 16.16 KiB, done.
Resolving deltas: 100% (54/54), done.
$ git commit -m "Hello world."
[master (root-commit) 565b235] Hello world.
 2 …
Run Code Online (Sandbox Code Playgroud)

git git-pull git-submodules

799
推荐指数
10
解决办法
54万
查看次数

GIT中的HEAD和ORIG_HEAD

这些符号是指什么,它们是什么意思?

(我在官方文档中找不到任何解释)

git

230
推荐指数
3
解决办法
9万
查看次数

在所有子目录上运行git pull

如何在不cd进入每个repo的根目录的情况下从共享父目录更新多个git存储库?我有以下几个单独的git存储库(不是子模块):

/plugins/cms
/plugins/admin
/plugins/chart
Run Code Online (Sandbox Code Playgroud)

我想一次更新它们或者至少简化我当前的工作流程:

cd ~/plugins/admin
git pull origin master
cd ../chart
git pull
Run Code Online (Sandbox Code Playgroud)

等等

git bash

220
推荐指数
13
解决办法
9万
查看次数

多个`.gitignore的皱眉?

除非一个回购包含几个独立的项目,否则在回购.gitignore的根部只有一个文件比在整个过程中只有一个文件是最简单的.当在一种方法比另一种方法更好时,是否有关于此或在线分析的标准最佳实践?

git

205
推荐指数
6
解决办法
8万
查看次数

如何使用git提取特定目录

我有一个带git的项目,我只想克隆或拉出一个特定的目录,就像myproject/javascript一样,就像subversion一样.
进行一些更改,提交并再次推回.
这是可能的?

git directory pull

174
推荐指数
8
解决办法
23万
查看次数

Git中的文件限制是多少(数量和大小)?

有谁知道文件数量和文件大小的Git限制是什么?

git

170
推荐指数
5
解决办法
11万
查看次数

git子模块跟踪最新

我们正在将我们(巨大的)项目转移到git,我们正在考虑使用子模块.我们的计划是在超级项目中有三个不同的头:发布,稳定,最新.项目负责人将处理释放和稳定的分支机构.他们将根据需要移动子模块.

问题是"最新"头.我们希望超级项目"最新"头部跟踪所有子模块的主分支(自动).如果能够显示子模块的所有提交历史,那也很棒.

我看过gitslave,但它不是我们想要的.有什么建议?

git git-submodules git-track

130
推荐指数
1
解决办法
8万
查看次数

具有多个项目的服务器的GIT存储库布局

我喜欢Subversion设置的方式之一就是我可以拥有一个包含多个项目的主存储库.当我想在一个项目上工作时,我可以查看该项目.像这样

\main
    \ProductA
    \ProductB
    \Shared
Run Code Online (Sandbox Code Playgroud)

然后

svn checkout http://.../main/ProductA
Run Code Online (Sandbox Code Playgroud)

作为git的新用户,我想在提交特定工作流程之前探索该领域的一些最佳实践.从我到目前为止所读到的,git将所有内容存储在项目树根目录下的单个.git文件夹中.所以我可以做两件事之一.

  1. 为每个产品设置单独的项目.
  2. 设置单个大型项目并将产品存储在子文件夹中.

产品之间存在依赖关系,因此单个大型项目似乎是合适的.我们将使用一个服务器,所有开发人员都可以共享他们的代码.我已经通过SSH和HTTP工作了这部分我喜欢的部分.但是,SVN中的存储库已经有很多GB的大小,因此在每台机器上拖动整个存储库似乎是一个坏主意 - 特别是因为我们需要承担过多的网络带宽.

我想,Linux内核项目存储库同样大,所以必须有一个正确的方法来处理这个用Git,但我还没想到它.

是否有使用非常大的多项目存储库的指南或最佳实践?

git

95
推荐指数
1
解决办法
6万
查看次数

你忽略.gitignore中的git子模块还是将它提交给你的repo?

project_dir/vendor/submodule_one每次运行时git status都会在项目中添加一个子模块modified: vendor/submodule_one (new commits).

我的问题是解决这个问题的最佳方法是什么?我是否将vendor/submodule_one-folder 添加到my中,.gitignore因为我的主项目不应该知道我的子模块的细节?

或者当我更改并提交对子模块的更改时,我是否还需要在我的主项目中进行提交?

刚刚开始使用子模块,除了设置它们之外似乎找不到太多信息.

git

78
推荐指数
3
解决办法
4万
查看次数

如何将Git中的文件添加到以前的子模块的路径中?

我有一个项目,用于在路径中包含子模块mysubmodule.我从源代码(1.8.3-rc2)安装了最新的Git并运行git submodule deinit mysubmodule.然后我删除了.gitmodules文件并提交了更改.我还.gitmysubmodule文件夹中删除了该目录.

我现在想mysubmodule直接将文件提交到我的仓库,但是git说没有变化.如果我输入git add mysubmodule它什么都不做.如果我输入git add mysubmodule/file.txt它说fatal: Path 'mysubmodule/file.txt' is in submodule 'mysubmodule'

我还发现,如果您查看一个新版本的repo,它会创建一个mysubmodule目录,尽管没有.gitmodules文件.跑步git submodule init会给你一个No submodule mapping found in .gitmodules for path 'mysubmodule'错误.

我该如何解决?

git git-submodules

66
推荐指数
1
解决办法
2万
查看次数

标签 统计

git ×10

git-submodules ×3

bash ×1

directory ×1

git-pull ×1

git-track ×1

pull ×1