问题标签 [git-push]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9117 浏览

git - “git push”失败:“您没有指定要推送的任何参考规范”

我在 projectlocker 上设置了一个 git 项目来将我的 git 文件推送到。然后我进入初始化 git 项目并暂存文件的目录。最后,我尝试使用以下命令将项目推送到 projectlocker:

它会生成此错误:

试图以这种方式推动有什么问题吗?

我找到了一个使用这种语法的人的例子:

是否有必要使用“ remote add” - 为什么我不能像上面那样直接推送到 URL?

0 投票
1 回答
33045 浏览

git - 为什么是“git push helloworld +master:master”而不是“git push helloworld”?

我最初尝试像这样推送我的(第一次!)git repo:

但我得到了这个:

所以我发现了另一个关于“修改的提交”的 StackOverflow 问题,并尝试了一个建议,但并不知道它是否对我有帮助:

有效!

但我不知道为什么它解决了我的问题:(

有人可以解释为什么这行得通,但“ git push helloworld”不行吗?

0 投票
1 回答
339 浏览

git - git 分支的 rebase-push 循环

我目前正在使用基于另一个存储库的主分支的具有单个分支的 github 存储库。github 分支是我工作的备份,绝对不是为了拉取,因此我很乐意在从主存储库变基时重写它的历史。

我的问题是我想要一个干净的历史,如果历史分歧我做不到。如果我进行推送(初始工作)+ rebase,就会发生这种情况 - 第二次推送被拒绝。

我曾尝试删除分支然后推送,但这会产生令人讨厌的副作用,即对存储库进行 drop-create,这很慢。

我应该如何解决这个问题?

0 投票
5 回答
59921 浏览

git - 如何推送到非裸 Git 存储库?

我通常通过 ssh(screen 和 vim)在远程服务器上工作,在那里我有一个 Git 存储库。有时我不在线,所以我的笔记本电脑上有一个单独的存储库(从我的远程克隆)。

但是,我无法从远程端的这个存储库中提取,因为我通常在防火墙后面或者我没有公共 IP。

我读过我应该只推送到一个裸存储库。然后我应该如何将我的更改推送到我的远程存储库?

0 投票
41 回答
9716204 浏览

git - 如何在本地和远程删除 Git 分支?

我想在本地和远程删除一个分支。

尝试删除远程分支失败

remotes/origin/bugfix为了在本地和远程成功删除分支,我应该做些什么不同的事情?

0 投票
2 回答
2116 浏览

git - 如何防止 git 将更改推送到某些文件

我已经使用 git svn 克隆了一个 subversion 存储库。源代码有一些配置文件,我必须对其进行编辑以适应我的系统。我想将我对这些文件的更改存储在我的本地存储库中(以便在分支之间轻松切换而不必担心本地修改的文件),但我想防止将这些更改推送到远程存储库。

有谁能够帮我?

提前致谢。

0 投票
2 回答
3435 浏览

git - git http push via WebDAV - 如果我的用户名中有一个“@”怎么办?

我的网络托管服务提供商允许我通过 WebDAV 访问我的网络空间,所以我想我应该在那里建立一个 git 存储库,看看会发生什么。以只读方式克隆存储库就可以了,因为“git clone http://my.server.com/repo.git ”只使用标准的 HTTP 传输。

当我尝试使用 WebDAV 时会出现问题,因为我的用户 ID 是“user@my.server.com”并且我必须使用端口 2077。这意味着我必须执行类似的操作

并且 URL 中的两个 @ 符号一定会导致问题,因为“git push origin master”报告“错误 22”。

我尝试创建一个 .netrc 文件条目

但这似乎没有帮助。

我也试过用“%”、“\@”和“%40”替换第一个“@”,但这些都不起作用。

0 投票
1 回答
5116 浏览

git - 让远程 git 存储库在推送时拒绝合并提交

我想做的事:

我想禁止将任何合并提交送到中央存储库。唯一的例外是如果合并是在中央存储库中存在的分支之间。我想在中央存储库中强制执行此操作。

解释我为什么要这样做:

注意:如果这个解释让你偏离了我想要做的事情,那么忽略这个解释。当然,我很高兴听到解决我在下面解释的问题的其他方法,但我感兴趣的答案是我想要做的事情,如上所述。

我有一个中央 git 存储库,其中有几个开发人员跟踪的分支。每个开发人员都为该中央存储库的分支配置了一个远程。

我们对该项目遵循同步提交策略,因此每个开发人员必须始终在推送之前将他们的最新工作重新定位在远程分支 HEAD 之上。我想通过禁止将任何合并提交推送到中央存储库来执行此策略。唯一的例外是如果合并是在中央存储库中存在的分支之间。

为简化起见,我不希望开发人员的本地跟踪分支与远程分支合并。而是总是基于远程分支。

我们通过设置 branch.NAME.rebase = true 在开发人员的机器上部分强制执行此操作,这有助于避免开发人员使用 git pull 时出现问题,但是我们需要一个解决方案来在中央存储库端强制执行此操作。

一个非常基本的解决方案是拒绝带有注释的提交:“合并 GITURL 的分支 'NAME'”,但是,更多类似于检查中央存储库的分支路径中是否存在提交的所有父级的东西会更有趣。

建议?解决方案?

编辑:

这是我到目前为止所拥有的:

麻烦的地方是确定任何两个父母的祖先是否来自一个分支。另外,因为在更新任何参考之前调用了 pre-receive 钩子,如果推送包含远程中存在的两个分支的提交,包括这两个分支之间的合并,那么我不知道这里的解决方案是什么。 .

0 投票
3 回答
3538 浏览

git - git:在工作副本之间推送的简单解决方案

我想做的事:在我的(ssh 远程访问)大学机器上,我从事一个项目,该项目已置于 git 源代码控制之下(git init然后git commit -a在每次更改后,一切正常)。现在我想在家里的私人机器上处理那个项目。应该很容易,因为 git 是分布式 vcs,对吧?

我阅读了git tutorial,它建议git pull在大学做一个以在家完成更改。那是行不通的,因为我家中的机器无法远程访问。所以我想我会git push在家里做一个。这行得通,但它很复杂(git reset之后需要在大学等),因为非裸存储库不是为推送而设计的

问题 1:有没有比在我的设置中添加额外的裸存储库更简单的方法(这意味着我有:(1)“主要”裸存储库,(2)大学工作副本,(3)家庭工作副本)?
<Rant>如果我真的需要那个设置,我可以留在 SVN。</Rant>

问题 2:如果确实需要该设置,我如何创建那个裸存储库(git clone --bare我猜)并使其成为“主”存储库,即告诉git push应该去那里的工作副本。

PS:我知道有一个 post-receive 钩子可以让你推入非裸存储库。我试过了,但效果不好,因为大学机器上的 git 版本很旧(1.5.5.6)并且错过了钩子使用的一些命令。更新不是一种选择,无论如何我更喜欢没有第三方脚本的解决方案。

0 投票
2 回答
10038 浏览

git - Git推送仅适用于裸存储库?

当我尝试 'git push origin master' 到我的外部磁盘上的远程存储库时,出现 git 警告,指出在下一个版本的 git 中默认拒绝检查存储库。在外部磁盘上,我已签出项目,我想将我在计算机上所做的更改发送到这些存储库。'git push origin master' 不是正确的方法吗?我是否必须在我的外部磁盘上的存储库上“git pull ...”?所以我不能推动更​​改,而只是拉动它们?仅使用“裸”存储库不同吗?因此,如果我的外部磁盘上的存储库是一个裸存储库,我可以将更改推送到它吗?我理解正确吗?