我有2个git本地存储库,它们都指向同一个远程存储库.
在一个git存储库中,如果我这样做git format-patch 1,如何将该补丁应用于其他存储库?
我在 Github 上有两个包含相同项目的存储库,但它们不是另一个的分支。
有没有一种方法可以从一个存储库向另一个存储库发出拉取请求?有没有办法将这两个存储库声明为分叉?
我正在将包含许多相互依赖的包的项目迁移到带有Lerna 的monorepo 。我们在开发过程中遵循类似Gitflow 的工作流程。主要概念是在develop分支中进行所有源代码更改以及从develop. 只要包的新版本准备好,我们就可以通过npm publish或发布它yarn publish,然后将其合并到master分支并通过以下方式手动标记它:
$ git checkout develop
Run Code Online (Sandbox Code Playgroud)
对源代码进行一些更改,包括版本碰撞...
$ git add -A
$ git commit -m "Make some changes and version bump."
$ git checkout master
$ git merge --no-ff develop -m "Version 0.14.1."
$ git tag -a 0.14.1 -m "Version 0.14.1."
Run Code Online (Sandbox Code Playgroud)
现在我想用 Lerna 管理所有包来实现同样的事情。查看文档,我指出发布命令依赖于version命令,而version命令又在幕后使用更改的命令来检测自最新版本以来包中所做的更改:
列出自上次标记发布以来已更改的本地包
考虑develop在一个包中的分支中进行了一些更改(例如,@geoapps/layout)

$ lerna changed …Run Code Online (Sandbox Code Playgroud) 当通过Git别名运行外部命令时,它将从存储库的rood目录运行(.git /通常位于该目录中).可以通过以下方式检查:
$ cd /some/path/inside/repo
$ echo $(git -c alias.root='!pwd' root)
Run Code Online (Sandbox Code Playgroud)
现在,有没有办法获得别名运行的确切路径?`
在XY问题的情况下,这就是我正在做的事情:我想要一个启动shell函数的别名,它反过来运行几个Git命令,比如ls-files.它应该只在它被调用的路径中工作,所以它应该知道它.
如果我只是运行该函数,它运行良好,因为它不会更改路径并在其调用的位置运行.但我想要更多的原生行为.我现在拥有的是什么
git-add-specificname -opt -opt2 --long-option -- path1 path2
Run Code Online (Sandbox Code Playgroud)
我想要的是
git add-specificname -opt -opt2 --long-option -- path1 path2
Run Code Online (Sandbox Code Playgroud)
不允许在Git中使用别名参数,因此没有机会 git add specificname...
我正在尝试使用 TortoiseGit 创建补丁,但我无法通过工作副本更改获得补丁,这意味着 TortoiseGit 中可能没有工作副本更改选项。但我能够使用提交的更改创建补丁。但我只需要未提交的更改的补丁。请帮忙解决这个问题。
git ×3
git-alias ×1
git-fork ×1
github ×1
lerna ×1
npm ×1
patch ×1
pull-request ×1
shell ×1
tortoisegit ×1