标签: pull

git pull 直到有东西可以拉

有没有办法git pull直到有东西可以拉。

假设我正在等待一位同事推送他的最新更改,因为我不耐烦并且不看他的屏幕,我只是运行watch git pull直到我看到有东西被拉出,但我可能会错过这一刻并浪费一点比必要的时间更多。(注意:是的,这是一个非常小的不便,但仍然是不便:))

git pull似乎没有不同的返回值,无论它是否实际拉了一些东西,但也许有一些我不知道的晦涩的、未记录的选项?

编辑: 感谢您的回答,我将其添加到我的 .zshrc 中:

alias gitpullwait="git pull | grep "已经是最新的" > /dev/null; while [ $? -ne 1 ]; do git pull | grep "已经是最新的" > /dev/null;完成;通知发送拉 f$

它看起来很丑,但对我有用。

git pull wait

5
推荐指数
1
解决办法
721
查看次数

是否有一个 git 命令可以解决错误:未找到远程分支 'refs/heads/foo/bar' ?

在我的情况下,我正在跟踪其他人合并和删除的远程修补程序分支。

我已经删除了本地分支,但是当我拉取时,我仍然收到上述错误,因为我的 git 配置文件中有以下几行:

[remote "origin"]
...
    fetch = +refs/heads/foo/bar:refs/remotes/origin/foo/bar
    push = +refs/heads/foo/bar:refs/for/foo/bar
...
Run Code Online (Sandbox Code Playgroud)

可以通过从文件中删除这些行来解决该错误,但有没有办法从命令行执行此操作?

git pull fetch refspec

5
推荐指数
1
解决办法
1305
查看次数

Git - 推送时自动变基

在处理 git 项目时,我想在git pull --rebase每个git push. 然而,我团队中的一些开发人员经常忘记在推送之前打电话git pull --rebase。因此,Git/Gerrit 自动执行合并,这会创建格式错误的提交消息。我想避免这种自动合并。

我想配置客户端 git ,以便当开发人员运行 a 时git push, agit pull --rebase应该自动发生。有什么办法吗?

git push pull rebase gerrit

5
推荐指数
1
解决办法
2437
查看次数

Git pull 后为什么要强制执行 --checkout 来摆脱本地的任何更改

老实说,我是一个 Git 新手,所以如果我让事情变得过于复杂,请原谅我。

1.) 我的工作目录中有文件 A,有 10 行。同样的文件也在远程仓库中,有 8 行

2.) 当我从远程存储库中提取文件 A 时,git 说“您的分支已与 origin/remote-branch 保持同步”。

第 2 步并没有消除我在本地所做的更改,但 Git 也不会抱怨我在本地所做的其他更改。对我来说,看起来我从远程获得了所有更新。假设几天后,我对另一个文件 B(来自同一分支)进行了更改,并尝试使用“ git add ”提交它们。文件 A 中的另外 3 行现在也被无意中推送到了远程。当然 git status 会告诉我有 2 个修改,但是如果我忘记了 2 天前对文件 A 的更改,并且如果我认为文件 B 是我刚才所做的唯一更改并执行了“ git add ”那我就有麻烦了。

我的问题确实是,git checkout -- fileA是确保我将远程 fileA 与我的 fileA 完全匹配的唯一方法吗?我还看到 git pull -f 但这是有风险的。当我的工作目录中有一些额外的更改时,最安全的方法是什么让我知道 git pull 仍然完成其工作?难道 git 不应该阻止我拉扯吗?奇怪的是,有时它确实会说“您的本地更改可能会因拉取而丢失”,但当文件相当干净并且 git pull 不会影响我的任何本地更改时,它不会一直这样做。我只是想看看如何避免这样的错误,即无意中将某些内容推送到我刚刚在分支中试验文件的存储库。我希望 pull 要么清理它,要么总是出错,但事实似乎并非如此。

感谢您的帮助!

git version-control pull git-checkout

5
推荐指数
0
解决办法
311
查看次数

当第一个拉取请求尚未合并时,如何从同一分支创建第二个拉取请求

(在 Github 中)假设我有 2 个分支,名为masterdev。我继续工作dev,提交提交c1,然后创建拉取请求PR1master这将解决bug1。在合并之前PR1(有时我的团队需要大量时间来审查拉取请求),我继续工作,修复,以便bug2我提交提交c2,然后创建另一个拉取请求PR2。但我发现这PR2包括 2 个提交,即c1& c2。这不是我的意图。

那么如何创建一个干净的PR2分支dev,只包含合并c2之前的提交PR1呢?

我们的团队规定,一个拉取请求只能修复一个错误。

抱歉我的英语不好,感谢您的帮助。

git pull request

5
推荐指数
1
解决办法
6240
查看次数

GKE 出现错误:ImagePullBackOff 和错误:ErrImagePull 错误

当 kubectl 应用 .yaml 将自定义构建的 docker 映像部署到 GCP 中的集群(编辑掉敏感信息)时,我收到以下错误:

在此输入图像描述

已尝试以下但没有运气:

  • 手动部署镜像
  • 检查以确保防火墙规则允许 443,并且没有任何东西阻止它
  • 尝试将容器注册表设置为公共
  • 检查服务帐户权限并且授权拉取的秘密就在那里
  • 使用上图中给出的网址验证了拉动在我这边是否有效
  • 试图摧毁整个基础设施。并重新旋转
  • 确保控制平面与我们的其他环境一样
  • 在我们的 terraform 中,集群和节点池具有所有必需的 0authscope

奇怪的是,我们有一个开发人员。环境完全相同(使用 terraform 启动基础设施)并使用相同的文件+图像(显然是不同的项目,因此所需的内容已更改以匹配)并且没有问题。

containers pull image google-cloud-platform google-kubernetes-engine

5
推荐指数
1
解决办法
2542
查看次数

MongoDB/PHP:从数组中删除元素

问候,

我有以下MongoDB对象:

{
   "_id": ObjectId("4d0e28938b012fe28754715a"),
   "notifications": {
     "0": {
       "type": "privateMessage",
       "fromUname": "Eamorr2",
       "time": 1292773522,
       "id": "1lfw70h789u13a1e67pv"
    },
    "1": {
       "type": "privateMessage",
       "fromUname": "Eamorr2",
       "time": 1292773522,
       "id": "iwoidjsoskqp23nlwof"
    }
  },
   "toUname": "Eamorr"
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试删除元素0,留下我:

{
   "_id": ObjectId("4d0e28938b012fe28754715a"),
   "notifications": {
    "0": {
       "type": "privateMessage",
       "fromUname": "Eamorr2",
       "time": 1292773522,
       "id": "iwoidjsoskqp23nlwof"
    }
  },
   "toUname": "Eamorr"
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的(在PHP中),但无济于事:

$customerNotifications->update(array('toUname'=>$uname),array('$pull'=>array('notifications'=>$key)));
Run Code Online (Sandbox Code Playgroud)

但它没有用,我现在完全陷入困境.

任何帮助非常感谢.提前致谢,

php pull mongodb

4
推荐指数
1
解决办法
6604
查看次数

根据元素的位置删除mongoDB中的数组元素

实际上我需要根据它的位置从数组中删除一个元素.使用$流行,我们可以从顶部或底部移除元素(将其视为一个堆栈.在顶部0个元素)作为解释在这里.

我们也可以从阵列基于使用$拉作为解释数组中的元素的值删除元素在这里.

但我需要根据位置从数组中删除元素.那么我有什么方法可以做到这一点.

arrays pull mongodb

4
推荐指数
1
解决办法
6446
查看次数

Git重置和强制推送

状态:学习git.

我在两个系统中执行以下操作

系统1

git reset --hard "SHA Key"  
git push origin master # fails  
git push -f origin master # succeeds  
Run Code Online (Sandbox Code Playgroud)

系统2

git pull origin master
Run Code Online (Sandbox Code Playgroud)

我收到此消息"已经是最新的".

是否有任何原因导致系统1中的更新/重置没有反映在系统2中?

git push pull

4
推荐指数
1
解决办法
411
查看次数

如何在TortoiseGit中设置默认的PULL遥控器?

我配置了两个遥控器:"origin"和"upstream".

更改推送默认值很简单,它在设置窗口("推送默认值")和推送对话框("始终推送到所选远程分支")中.

但是,我想更改默认的远程.每当我拉或取,TortoiseGit默认为"上游".我希望默认为"origin".

我知道我可以手动编辑本地配置并将"remote = upstream"更改为"remote = origin",但我想知道TortoiseGit UI中是否有办法执行此操作.

pull tortoisegit

4
推荐指数
1
解决办法
701
查看次数