问题标签 [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.
git - git:如何指定默认的远程推送分支?
假设我有一个名为 ' abc
' 的跟踪分支,它跟踪origin/master
.
当我在 ' abc
' 上做 agit push
时,它会将 ' abc
' 推到 ' abc
'。
如何仅使用' git push
'为其指定远程推送分支?
git - Git推送到实时服务器
我们有一个网站,其所有 PHP/HTML/JS/CSS/etc 文件都存储在 Git 存储库中。
我们目前有 3 种类型的计算机(或用例)用于存储库。
- 本地开发人员:拉取最新更改,进行更改,提交到本地仓库,推送到主服务器
- 主服务器:中央存储库,所有更改都被推送到主服务器
- Web 服务器:部署网站时从主服务器拉下更改
所以目前我们:
所以我的问题是:有没有一种方法可以从我的本地计算机直接推送到 Web 服务器?
IE。
git-push - git push 挂起并且什么也不做
我是 git 新手并对其进行测试。我已经能够克隆朋友存储库进行小的本地更改并提交。
我现在想测试将本地更改推送到远程存储库,但不幸的是,当我尝试推送时
$ git push <my friends remote repository
>
<---- 挂在这里等待..我被 ctr-c 打破
这是一些显示我当前状态的信息,
$ git remote show origin
获取 URL:git://codaset.com/nickbmarine/nickspix.git
推送 URL:git://codaset.com/nickbmarine/nickspix.git
HEAD 分支:master
远程分支:
重构跟踪的
master 跟踪的
本地分支为“git pull”配置:
master 与远程 master 合并
本地 ref 为“git push”配置:
master 推送到 master(可快速转发)
有任何想法吗?
git - 如何从错误的 git push -f origin master 中恢复?
--force
我只是使用选项将错误的源提交给我的项目。
有可能恢复吗?我知道所有以前的分支都已使用-f
选项覆盖,所以我可能搞砸了我以前的修订。
git - 推送到裸 Git 存储库时出现“receive.denyCurrentBranch”错误
有一个远程 git 裸仓库,我从一台机器上推送了一个分支,然后拉到另一台机器上。
在另一台机器上进行了一些更改,试图将这些更改推送回远程裸仓库,我收到“receive.denyCurrentBranch”错误。
这是怎么回事?
这不应该发生在裸回购上 - 没有任何检查。
从机器 2 看到的分支是:
“修复”是两台开发机器上的当前分支。
当我最初在机器 2 上拉出那个分支时,我做了:
我怀疑第一条“远程”行 - 似乎 HEAD 应该指向我当前的分支,但事实并非如此。觉得我错过了什么,在这里..
更新 1 我将 'Fix' 分支合并到 dev1 分支,然后推送 'dev1' 分支 - 工作正常(无论如何我正要这样做)。
所以,这是一种解决方法,但我认为真正的问题是 HEAD 没有绑定到当前分支('Fix'),而是绑定到非活动分支('dev1')。我不确定如何更改远程仓库的头部?
git - 为什么我在将新分支推送到我的 Git 存储库时遇到问题?
作为我关于 svn to git migration 后不可用分支的问题的后续,我有一个不同的问题:我无法将新分支推送到我的中央 Git 存储库。
因此,这不会将我的分支推送到服务器。一位同事建议我查看我的 .git/config,如下所示:
有人建议我手动添加推送条目:
现在情况看起来好多了:
虽然这行得通,但它仍然感觉像一个黑客。这样做的正确方法是什么?
git - Git推送错误:ssh:无法解析主机名domain.com [:7555]:提供节点名或服务名,或未知
我似乎无法使用 Git 推送到服务器。但是,我可以通过 SSH 连接到盒子。
我不知道为什么:
$ git push server_idm
但是,我可以轻松地通过 SSH 连接到盒子。
$ ssh -p 7555 用户名@domain.com
git - 如何使用 refspec 将 Git 标签推送到分支?
例如,我想强制将我的标签推1.0.0
送到我的远程master
分支。
我现在正在执行以下操作:
我想强制 push,因为我关心的是标签内的1.0.0
代码被推送到master
远程存储库上的分支。
我究竟做错了什么?
更新#1
当我 SSH 到我的Git存储库所在的服务器并执行git branch -l
时,我也没有看到master
列出的分支。
更新#2
从远程 Git 存储库内部运行后git tag -l
,我看到它master
已列出,这意味着当我运行以下命令时:
它实际上推送了标签并创建了一个名为 master
而不是新分支的标签。
我想基本上将标签的内容1.0.0
推送到master
远程 Git 存储库的分支中。
git - 如果不是最新的,防止 git push 发送整个 repo
相关问题:为什么 Git 每次 push origin master 时都会发送整个存储库
简短版本:当使用两个 Git 存储库时,即使 99% 的提交对象是相同的,当设置为指向存储库Agit push
时,使用将提交发送到存储库B会导致所有对象 (200MB +) 被传输。origin
更长的版本:我们在持续集成服务器上设置了第二个 Git 存储库。在我们在本地准备好我们的提交对象之后,而不是origin/master
像通常那样直接推送到,而是将我们的更改推送到第二个存储库上的一个分支。CI 服务器选择新的分支,将其自动变基到master
,运行我们的集成测试,如果一切顺利,将分支推送到origin/master
主存储库。
CI 服务器还定期调用git fetch
以从主存储库中检索最新副本origin/master
,以防有人绕过 CI 流程并直接推送。
这非常有效,特别是如果git fetch; git rebase origin/master
在推送到 CI 回购之前做了一个;Git 只发送尚未在origin/master
. 如果在推送之前跳过 fetch/rebase 步骤,该过程仍然有效,但 Git 似乎将大部分提交对象(如果不是全部)发送到 CI 存储库 - 目前价值超过 200MB。(我们的 repo 的新克隆为 225MB。)
我们做错了什么吗?有没有办法纠正这种行为,使 Git 只发送它需要在 CI 存储库上形成分支的提交对象?我们显然可以通过 pre-push 来解决这个问题git fetch; git rebase origin/master
,但感觉我们应该能够跳过这一步,特别是因为直接推送到主仓库不会出现同样的问题。
我们的存储库由 Gitosis 0.2 提供服务,我们的客户绝大多数都在运行 msysgit 1.7.3.1-preview。
git - Git 在推送时创建远程存储库
我一直试图弄清楚这一点,但我很难做到这一点。我目前正在开发一个开源项目,该项目要求我允许用户推送到远程存储库,而该存储库尚未存在。我想避免手动登录到服务器并运行git init
or git init --bare
。
出于显而易见的原因,当我尝试将本地存储库推送到不指向远程服务器上现有存储库的路径时出现以下错误:
但我希望能够运行例如以下命令:
如果它尚不存在/myrepo
,则将其创建。/var/repositories
我怎么能做到这一点?我假设它是您可能会在远程服务器上设置的某种(全局)git config设置,或者是本地的(特定于存储库的)git config,但我无法弄清楚。
任何帮助将非常感激!
谢谢!