我有一个包含几个子模块的仓库。我想添加一些其他的,对我来说最快的方法是使用.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 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 模块:
"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 修改它的内容(行尾等)
我已经有一些文件在 .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 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.
如何强制弹性 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) 有谁知道是否有一种简单的方法可以发现在何处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 …
我在 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 . -r并git add .用的.gitignore指令,会忽略.DS_Store,但问题仍然存在。
我尝试了很多在不同帖子上看到的命令,但都没有成功。任何帮助,将不胜感激。
我已经在一个项目中编写了一个跨越数千个修改行的功能,现在这一切都以一次大提交结束(我已经压缩了正在进行的提交)。现在我想将更改拆分为多个提交,以便于审查/可能多个 PR。
有些文件包含多个更改,这些更改应该在不同的提交中结束,因此我正在寻找使用三窗格视图的所见即所得编辑器,这将允许我将一些行移动到中间提交,同时查看以前和将来的版本(+一些手册变化)。我使用 IntelliJ IDEA 进行开发,所以我想象了类似于冲突解决对话框的东西。
我可以切换到不同的分支/标记单提交版本并执行 Git->与分支比较(并从那里获取更改),但我正在寻找更方便的东西。
虽然这可能被标记为偏离主题/固执己见,但我相信针对不同工作流程的中立建议可能是有价值的。
我尝试将最新提交的提交者日期设置为其作者日期。通常这适用于git rebase --committer-date-is-author-date HEAD~1. 不幸的是,只有一个承诺,这意味着我必须使用--root替代HEAD~1,但git rebase --committer-date-is-author-date --root不设置的提交日期作者日期出于某种原因。我能做什么?