标签: tortoisegit

如何恢复推送提交?

我们想要撤消最后 2 次都推送到原始主控的提交。在 tortoise git 中,我们可以查看历史记录,然后单击上次提交后的第 3 个,然后选择“将 master 重置为此”,我们猜测这意味着恢复到此版本。

但是,当您选择此选项时,您必须从以下三个选项之一中进行选择:

  1. soft - 保持工作树和索引不变。
  2. 混合 - 保持工作树不变,重置索引
  3. 硬重置工作树和索引。

不幸的是,我们不知道我们应该选择这 3 个选项中的哪一个 - 我们只想撤消最后两次提交并及时返回。

下一个问题是此操作是在远程源、您的存储库、您的工作目录还是这三者的组合上发生?例如,是否必须在还原后进行提交和推送,或者它是否为您执行此操作?

我们会猜测 HARD 是我们想要的 - 它会将存储库(不确定是哪个)和我们的本地源代码恢复到以前的版本。如果是这种情况,为什么这不是默认值,另外两个选项的用例是什么?要么你想恢复,要么不恢复,如果你只恢复远程仓库,而不是你的本地工作文件,那么你将处于混乱状态。

我们没有任何本地修改的文件。

请注意,我们非常渴望一个不会破坏 git 的解决方案(我们过去曾破坏过 git,不得不创建一个新的 repo)。也许另一种方法是可行的,例如检出以前的版本,然后在最新版本的顶部检入,但我们不知道如何执行此操作。

我们知道我们可以做这样的事情:

git checkout [revision]
Run Code Online (Sandbox Code Playgroud)

但是我们如何告诉 git 我们想要让这个版本成为新的 head 或者用这个替换 head 呢?我猜我们不能只提交,因为没有什么可提交的,因为我们不再是主人。顺便说一句,如果您查看上一个。版本,修改它,然后提交,你提交什么,提交到哪里?

我已经阅读了https://www.atlassian.com/git/tutorials/undoing-changes但它没有解决本地和远程 repos 之间的关系。如果要撤消的提交全部推送到远程源主机,则不清楚恢复远程源、本地存储库和工作目录的方法是什么——所有 3 项都必须恢复到 3 次提交之前的提交。我们真的不在乎这是通过重置还是还原来完成的——我们只需要一种方法来做到这一点,它适用于所有 3 个位置。

正确的接收方可能是这样的:

   git status (we are on master with a clean working dir)
   git git revert HEAD~2
   git commit -m "revert"
   git push origin …
Run Code Online (Sandbox Code Playgroud)

git tortoisegit

11
推荐指数
4
解决办法
5万
查看次数

如何从Git导出所有更改/添加的文件?

我对Git很新,我有一个小问题.

在SVN [这感觉就像阿尔伯特叔叔的傻瓜和马的故事......"在战争期间......"]当我想用最新的更改来更新生产网站时,我会在TSVN中做一个差异并导出所有两个修订版之间更改/添加的文件.您可以想象,之后很容易将这些文件存入生产站点.

但是,似乎我无法在Git中找到"导出已更改的文件"选项.我可以做差异并看到更改,我可以得到一个文件列表,但我实际上无法导出它们.有合理的方法吗?我错过了一些简单的事吗?

为了再次澄清,我需要导出两个特定提交之间的所有更改.

提前致谢!

git version-control msysgit tortoisegit

10
推荐指数
1
解决办法
7168
查看次数

如何删除未使用的git分支

如何从Tortoise-Git中删除未使用的git bracnhes?这些分支已在本地和远程删除,我不想再使用此下拉菜单了

在此输入图像描述

git tortoisegit

10
推荐指数
2
解决办法
6997
查看次数

为什么不将tortoisemerge作为我的mergetool工作?

我安装了TortoiseGit,过去它被tortoisemerge无缝地用作我的mergetool.但是自从我将TortoiseGit升级到1.8.x后,我的mergetool不再有效:

c:\Code\whatever> git mergetool
merge tool candidates: tortoisemerge emerge vimdiff
No known merge resolution program available.
Run Code Online (Sandbox Code Playgroud)

这曾经工作过,为什么它现在坏了?

git tortoisegit

10
推荐指数
1
解决办法
5915
查看次数

始终在TortoiseGit中添加提交作者和日期

我在Windows上使用TortoiseGit,我想知道如何设置它以便它总是添加提交作者和日期.

换句话说,默认情况下这两个复选框是否可以打开?

在此输入图像描述

我对git有点新意,所以也许有人会告诉我这是无用的或不推荐的.

git tortoisegit

10
推荐指数
1
解决办法
1945
查看次数

如何在TortoiseGit中设置默认远程引用?

如何更改TortoiseGit推送对话框的默认远程参考?通常是这样的master.refs/for/master当我从组合键盘或键盘上推出时,我可以将其改为总是有效,但我希望保留我选择的参考号.我怎样才能做到这一点?

TortoiseGit推送对话框

git push git-push tortoisegit gerrit

10
推荐指数
2
解决办法
3813
查看次数

如何在TortoiseGit中默认启用"包含标签"?

当我从TortoiseGit推送时,默认情况下不包括标签.但是,在最近的更新中,添加了一个选项以帮助解决此问题.现在,推送对话框中有一个"包含标签"的复选框.如何将此设置为默认启用?

我想在推送标签时忘记添加支票.在这一点上,我不在本地使用任何我不想推送的标签,因此与其他开发人员共享.

我尝试添加

[push]
  followTags = true 
Run Code Online (Sandbox Code Playgroud)

到我的gitconfig文件(本地,全局,系统范围,tgitconfig ...),TortoiseGit允许你从Settings-> Git编辑,但既没有设置开关,也没有在我按下时执行动作...

git tortoisegit

10
推荐指数
1
解决办法
938
查看次数

在某次提交后使用TortoiseGit删除所有内容

使用TortoiseGit(我试图避免命令行使用)如何删除从某个提交中获得的所有提交,并"回到过去"(示例用法:继续做某事,想通知我不喜欢它在哪里我要去,并决定"无视"所有人之间的"回归".

总之,我希望"返回"5次提交,然后删除它们.

tortoisegit

9
推荐指数
2
解决办法
1万
查看次数

使用TortoiseGit推送到远程Git仓库时出现身份验证错误

当我尝试使用我最喜欢的工具TortoiseGit推送到我的远程仓库(Unfuddle)时,我收到以下错误.然后我打开GitGUI并且能够毫无问题地推送.我通过一些谷歌搜索收集了一些选美需要为一些PuTTY变种运行,并且它正在运行.我下一步去哪儿看?

没有可用的支持身份验证方法(服务器已发送:publickey)

git msysgit tortoisegit

9
推荐指数
2
解决办法
7997
查看次数

git push error:HTTP请求失败:请求的URL返回504

我收到错误git没有在Tortoise Git中干净地退出(退出代码128),同时在GITHub中将我的更改推送到master

git.exe push -v --progress  "origin" master:master

Pushing to https://github.com/myproj/Net.git
error: The requested URL returned 
error: 504 while accessing 
https://github.com/myproj/Net.git/info/refs?service=git-receive-pack
fatal: HTTP request failed

git did not exit cleanly (exit code 128) (63228 ms @ 22-12-2012 23:57:48)
Run Code Online (Sandbox Code Playgroud)

我已经提到如何在TortoiseGit上解决"git没有彻底退出(退出代码128)"错误?

但我使用HTTPS而不是SSH.我的意思是我使用来自GITHub的HTTPS网址克隆.另外我不知道如何生成SSH!

在此输入图像描述

会有什么问题?

git github tortoisegit

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

tortoisegit ×10

git ×9

msysgit ×2

gerrit ×1

git-push ×1

github ×1

push ×1

version-control ×1