标签: git

自动添加 git 子模块 (.gitmodules)

我有一个包含几个子模块的仓库。我想添加一些其他的,对我来说最快的方法是使用.gitmodules(在我看来应该明确允许任何类型的子模块管理)。

但是,在编辑此文件并添加子模块时,在git submodule init添加任何内容之后(修改前已经存在的子模块除外)。

是否有任何解决方案可以在不经过的情况下添加子模块git submodule add(即,只需编辑.gitmodules文件然后git submodule update --init)?

也就是说,以下工作流应该自动添加子模块“ foo/bar ”:

Add the following to .gitmodules:
    [submodule "foo/bar"]
        path = foo/bar
        url = https://example.com/foo.git

Run the following command after saving:
    git submodule init
    git submodule update

Expected result:
    submodule 'foo/bar' automatically gets added
    it is also updated (the update command)
Run Code Online (Sandbox Code Playgroud)

git git-submodules

11
推荐指数
2
解决办法
3857
查看次数

如何忽略 git diff --no-index 上的目录?

我正在尝试在同一个存储库中的两个文件夹之间创建一个彩色差异(这可能是完全错误的方法)。

我相信实现这一目标的一种方法是通过git diff --no-index folder1 folder2它会自动为您创建一个补丁(酷)。

然而,差异也包括(正如人们所期望的)所有的.gitignore'd 文件。

folder1
  node_modules
  src/
  .gitignore
  package.json
  README.md

folder2
  node_modules
  src/
  .gitignore
  package.json
  README.md
Run Code Online (Sandbox Code Playgroud)

我想无视node_modules

可能性?备择方案?

git git-diff

11
推荐指数
1
解决办法
1450
查看次数

让 npm 从 Git 仓库中获取最新的包

我的问题与类似。

项目依赖于位于私有托管存储库中的 Git 模块:

"dependencies": {
  "mymod": "git+https://mygitserver:8443/scm/od/mymod.git",
  ...
}
Run Code Online (Sandbox Code Playgroud)

目的是使其成为快照依赖项,因此每当mymod修改任何代码时,项目都会下载最新版本。

问题是,我应该正确使用什么命令将我的项目更新到模块的最新版本?

我发现唯一有效的是:

rm -rf node_modules/mymod
npm install
Run Code Online (Sandbox Code Playgroud)

npm install正如@Vishwanath 在他的问题中指出的那样,单独运行什么都不做(假设它已经运行过一次),因为该模块已经安装。npm upgrade是不合适的,因为我也有很多其他模块的依赖,我不想把它们都升级到新版本。

我想我可以明确版本mymod,然后package.json在新版本发生变化时用新版本更新我的本地,但这会创建一个持续的维护任务。

它似乎npm有足够的信息来确定何时需要升级,因为node_modules/mymod/package.json包含最后一个已知的主修订,它可以与当前的主修订进行比较:

"gitHead": "b63f0df8ef...",
"_resolved": "git+https://mygitserver:8443/scm/od/mymod.git#b63f0df8ef..."
Run Code Online (Sandbox Code Playgroud)

是否npm有处理这样的快照依赖项的首选方法?

git node.js npm

11
推荐指数
2
解决办法
8265
查看次数

在 .gitattributes 中将文件夹标记为二进制

我必须将一些文件夹包含到存储库中,但我不希望我的 git 修改它的内容(行尾等)

我已经有一些文件在 .gitattributes ie 图像中被标记为二进制文件:

*.png binary
Run Code Online (Sandbox Code Playgroud)

但是此规则指定了某些类别的文件 - png 文件,但是我想实现类似的目标:

/folder_which_i_want_to_mark_as_binary binary
Run Code Online (Sandbox Code Playgroud)

git github

11
推荐指数
2
解决办法
5600
查看次数

运行“git mv”与仅运行“mv”有什么区别

当涉及到源代码控制系统时,运行以下命令之间的实际结果差异是什么:

git mv <src> <dest>  // see: https://git-scm.com/docs/git-mv
Run Code Online (Sandbox Code Playgroud)

与“较低”级别的命令相比

mv <src> <dest>
Run Code Online (Sandbox Code Playgroud)

从版本/源代码控制系统的角度来看,结果有什么不同吗?或者任何/任何人的观点?

其他 git 命令(如git rm.I just want to know what difference it makes between running the git functions versus bash functions, or whatever.

git

11
推荐指数
3
解决办法
3025
查看次数

子目录中的弹性 beanstalk 节点应用程序

如何强制弹性 beanstalk nodejs 应用程序在子目录服务器中查找服务器应用程序?

我正在构建一个现代 SPA,它在一个 git 项目中具有服务器和客户端应用程序。因此,elastic beanstalk 不能在存储库的根目录中查找服务器应用程序,而是在子文件夹 ./server/ 中查找。客户端 SPA 在 ./client/ 中编码,并在构建过程中构建到服务器文件夹结构内的公共文件夹中。完整构建的客户端版本已签入 git,并且不得在角色出时构建。

所以elastic beanstalk必须在server子目录下npm install和npm run。

示例文件夹结构:

~ git-root
|-- client
|    |-- ...
|
|-- server
|   |-- package.json
|   |-- src
|   |-- public
|   |-- (node_modules)
Run Code Online (Sandbox Code Playgroud)

git amazon-web-services node.js amazon-elastic-beanstalk

11
推荐指数
1
解决办法
1650
查看次数

如何发现“pip install git+ssh://...”在哪里搜索ssh密钥?

题:

有谁知道是否有一种简单的方法可以发现在何处pip install git+ssh:///...搜索 ssh 密钥?

快速背景(已解决...请参阅下面的更新):

我在 Windows 10 上。我需要在 conda 虚拟环境中使用 pip 从 github 安装一个私有远程存储库。我是回购所有者。我通过 github.com 设置了一个公共/私有 ssh 密钥对。我的本地密钥存储在C:\Users\MyName\\.ssh\id_rsa. 使用此密钥,我可以使用我的 IDE Eclipse 从 github 毫无问题地推拉。

但是,当我使用激活的 conda 环境执行以下命令时:

pip install git+ssh://github.com/USER_NAME/REPO_NAME.git
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Collecting git+ssh://github.com/USER_NAME/REPO_NAME.git
Cloning ssh://github.com/USER_NAME/REPO_NAME.git to
c:\users\USER_NAME\appdata\local\temp\pip-ghf3ts-build
Warning: Permanently added 'github.com,IP_ADDRESS' (RSA) to the list of
known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我知道 repo …

python git ssh bash pip

11
推荐指数
2
解决办法
7797
查看次数

错误:以下未跟踪的工作树文件将被合并覆盖:.DS_Store

我在 Mac 上有一个 git 存储库,当我git status在终端中使用时,它说

On branch master
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

当我尝试从存储库中提取更改时 git pull repositoryName master

error: The following untracked working tree files would be overwritten by merge:
.DS_Store
Please move or remove them before you can merge.
Run Code Online (Sandbox Code Playgroud)

所以我试图删除它,git rm .DS_Store但它说

fatal: pathspec '.DS_Store' did not match any files
Run Code Online (Sandbox Code Playgroud)

然后我试图删除缓存文件并重新添加它git rm --cached . -rgit add .用的.gitignore指令,会忽略.DS_Store,但问题仍然存在。

我尝试了很多在不同帖子上看到的命令,但都没有成功。任何帮助,将不胜感激。

git macos git-pull git-push

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

我应该使用什么工具将 git commit 拆分为多个?

我已经在一个项目中编写了一个跨越数千个修改行的功能,现在这一切都以一次大提交结束(我已经压缩了正在进行的提交)。现在我想将更改拆分为多个提交,以便于审查/可能多个 PR。

有些文件包含多个更改,这些更改应该在不同的提交中结束,因此我正在寻找使用三窗格视图的所见即所得编辑器,这将允许我将一些行移动到中间提交,同时查看以前和将来的版本(+一些手册变化)。我使用 IntelliJ IDEA 进行开发,所以我想象了类似于冲突解决对话框的东西。

我可以切换到不同的分支/标记单提交版本并执行 Git->与分支比较(并从那里获取更改),但我正在寻找更方便的东西。

虽然这可能被标记为偏离主题/固执己见,但我相信针对不同工作流程的中立建议可能是有价值的。

git intellij-idea

11
推荐指数
2
解决办法
3017
查看次数

git rebase --committer-date-is-author-date --root 不起作用

我尝试将最新提交的提交者日期设置为其作者日期。通常这适用于git rebase --committer-date-is-author-date HEAD~1. 不幸的是,只有一个承诺,这意味着我必须使用--root替代HEAD~1,但git rebase --committer-date-is-author-date --root不设置的提交日期作者日期出于某种原因。我能做什么?

git author date commit rebase

11
推荐指数
3
解决办法
7460
查看次数