问题标签 [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 投票
6 回答
576988 浏览

git - 如何将本地 Git 分支推送到远程的 master 分支?

我在我的本地仓库中有一个名为 develop 的分支,我想确保当我将它推送到原点时,它会与原点/主节点合并。目前,当我推送它时,它被添加到远程开发分支中。

我怎样才能做到这一点?

0 投票
4 回答
8090 浏览

git - 从远程 Git 存储库中删除物理删除文件的引用

我已经从我的 Git 存储库(来自许多不同的目录)中物理删除了很多文件。

我仍然可以看到他们的参考,如果我向 GitHub 提交,旧文件仍然存在。

我需要从远程 repo 服务器 (GitHub) 以及我的本地 PC 中删除这些引用。

如何从存储库中删除这些引用?

0 投票
9 回答
1677003 浏览

git - 如何正确强制 Git 推送?

我已经设置了一个远程非裸“主”存储库并将其克隆到我的计算机上。我做了一些本地更改,更新了我的本地存储库,并将更改推送回我的远程存储库。到那时为止一切都很好。

现在,我不得不更改远程仓库中的某些内容。然后我在本地仓库中更改了一些内容。我意识到不需要对远程仓库进行更改。所以我试图git push从我的本地仓库到我的远程仓库,但我得到了一个错误,比如:

为了防止您丢失历史记录,非快进更新被拒绝在再次推送之前合并远程更改。有关详细信息,请参阅“关于快进的说明”部分git push --help

我想这可能是一个

将强制我的本地副本将更改推送到远程副本并使其相同。它确实强制更新,但是当我返回远程仓库并提交时,我注意到文件包含过时的更改(主远程仓库以前拥有的更改)。

正如我在对其中一个答案的评论中提到的:

[我] 尝试强制,但是当返回主服务器以保存更改时,我得到了过时的暂存。因此,当我提交存储库时是不一样的。当我再次尝试使用 git push 时,我得到了同样的错误。

我该如何解决这个问题?

0 投票
1 回答
22436 浏览

git - 如何使用 git 修复本地过期错误?

我正在尝试推送到远程仓库,但不断收到以下错误。

git remote show origin显示master pushes to master (local out of date)。我很肯定它不应该过时,因为我只从分支推送。

我有 2 个问题。

  1. 是否可以强制本地分支覆盖远程?拉取将覆盖存储库中的更改,这些更改肯定晚于存储库中的内容。

  2. 这是我第二次或第三次遇到这个问题。我唯一能想到的是本地版本的 git 是git version 1.7.3.1.msysgit.0(在 Windows 上),而远程版本是git version 1.6.5(Ubuntu Jaunty)。不同的 git 版本是否可能导致一些损坏?

0 投票
1 回答
4648 浏览

git - 将 Git 分支直接推送到实时服务器目录中,以便实时查看文件

如何在 Git 中设置远程目录,我可以在其中本地将阶段分支推送到远程并查看暂存服务器上的实时更改,例如 stage.example.com?

我的想法(我离开 SVN 的部分原因)是我可以(本地)维护 3 个不同的“主要”分支,如下所示:

  • master - 用于本地开发,工作目录
  • stage - 应该与登台服务器目录(远程)同步
  • 直播- 这应该是可公开访问的网站(远程)

我的想法(以及其他人声称的可能)是我可以从我的本地计算机维护这些远程“站点”,而不必经常登录到我的远程服务器 shell 并运行svn update(在我当前的 svn 工作流程中,我需要做这一切时间......)或者当然在我的 Git 工作流程中运行git pull在遥控器上。

如何设置远程目录,以便我可以在本地将我的stage分支推送到staging remote server并立即查看(例如) stage.example.com上的更改?

然后,一旦stage一切正常并经过测试,我就可以在本地push远程live进行我stage在现场网站上测试过的这些更改。

这甚至可以完成还是我在这里得到了根本不适合用 Git 完成的疯狂想法?

如果这很重要,这里有一些关于我的本地和远程服务器的统计信息:

另外,到目前为止,我还没有成功尝试过以下工作流程:

  1. 在遥控器上创建一个--bareGit 存储库(这样我就可以从任何地方访问它)
  2. 将此远程存储库克隆到本地目录并使用 Git Tower 应用程序对其进行管理
  3. 在当地工作master (HEAD)
  4. scp -r--bare将git repo 从远程服务器复制到我的远程实时域stage.example.com
  5. 将远程添加到本地工作副本,然后尝试推送到origin/stage

显然这不起作用,但我不知道为什么或如何做得更好。

来自 SVN 背景,我是 Git 新手,但看过很多教程(Peepcode 和 ThinkVitamin),但仍然不知道如何设置它。

0 投票
1 回答
7522 浏览

git - 将本地存储库推送到服务器

到目前为止,我在本地存储库(本地初始化,未克隆)上工作。因为我在不止一个工作站上工作,所以我决定“上网”并将我的 repo 推送到服务器。另外,我想推动所有分支。

所以问题是:有没有办法推动整个本地初始化的回购?

0 投票
3 回答
122 浏览

git - git - 更改代码版本?

现在我使用 git 的方法是在本地开发一个网站,当它看起来不错时,git push origin master然后 ssh 到服务器和git pull origin master. 我很好奇是否有一种方法可以轻松更改应用程序的版本。假设我添加了一些功能,然后想暂时删除它们。如果不删除代码,我怎么能回去?

0 投票
4 回答
6281 浏览

git - 即使远程已被拉出,Git push 仍抱怨非快进

我正在尝试将我的更改推送到我的 NAS 上的存储库。它以我不理解的方式失败。

文档指出,默认情况下push仅适用于快进更新。很公平。所以我做了一个git pull(我的遥控器叫做rubix):

一切看起来都很好。让我们试着推...

我已经阅读了有关文档,git push但此时我不明白为什么我会看到这个问题。

这是其他一些上下文信息:

最后一行看起来很可疑。我怎么能不在任何分支上?还要注意,我也有一些未跟踪的文件和修改(未暂存)的更改。

任何帮助将不胜感激。谢谢。

0 投票
8 回答
108878 浏览

git - 如何轻松地将本地 Git 分支推送到具有不同名称的远程?

我一直想知道是否有一种简单的方法可以使用不同名称的远程分支推送和拉取本地分支,而无需始终指定两个名称。

例如:

现在,如果有人更新 remote_branch_name,我可以:

一切都被合并/快进了。但是,如果我在本地“newb”中进行更改,我不能:

相反,我必须:

似乎有点傻。如果git-pull用于git-config branch.newb.merge确定从哪里提取,为什么不能git-push有类似的配置选项?有没有一个很好的捷径,还是我应该继续走很长的路?

0 投票
3 回答
792 浏览

git - 来自更新后挂钩的 Git 推送失败 - X 不是存储库

我正在尝试设置一个中央存储库,当它从我的本地计算机推送到另一个存储库时,它将自动推送到另一个存储库。我已经用谷歌搜索了好几天了,我已经尝试了所有我能找到的命令组合,但没有运气。

设置:我首先将中央存储库创建为裸机,然后将其克隆到第二台机器作为非裸机。我将第二台机器作为遥控器添加到第一台机器上,称为“www”。我确认我可以从第一台机器手动执行“git push www master”,它将通过 SSH 更新第二台机器。然后我通过 HTTP 将存储库克隆到我的本地开发机器。我可以从本地推到中央就好了。

我当前形式的更新后挂钩:

我从各种 SO 和博客文章中拼凑出这个。从第一台机器的 CLI 手动执行时它工作正常(“cd /var/git_repos/site.git/hooks; ./post-update”)但执行时我收到错误消息“www 不是 Git 存储库”作为一个钩子。

输出:

谁能告诉我我做错了什么?

编辑:我发现我最初的问题是 site.git 上的权限没有完全正确设置。解决了这个问题后,我又遇到了一个新问题。

新输出:

我尝试将以下内容添加到我的 /etc/sudoers 文件中,但没有成功: