无法在git tower

时间:2016-03-29 16:17:12

标签: git git-tower

我使用Tower 2来管理我的bitbucket git repos。我已经在repo中添加了一些img文件并编辑了一些html和js文件,这些文件还没有准备好提交,所以我将它们保存为存储。这适用于html和js文件,这些文件被编辑(而不是新文件)img文件,其中新文件,但它不让我存储这些。

有没有办法存储新文件或者是否需要先提交?

2 个答案:

答案 0 :(得分:2)

这不是一个git-tower的答案,因为我没有使用它并且对此一无所知,只是关于git stash的一般观点。

默认情况下,git stash(其默认操作是执行git stash save)保存当前索引的内容(即到目前为止您构建的下一个提交)和内容当前工作树,通过进行两次提交来实现。因为它提交了提交,所以它遵循通常的提交规则:只有已经在索引中的文件才会被提交。这意味着特别是未跟踪和忽略的文件不会被隐藏。

但是,git stash save的命令行版本确实有两个标志可用于修改此行为。 -u--include-untracked标志告诉它保存未跟踪文件,-a--all标志告诉它保存所有(未跟踪和忽略)文件。使用这些标记时,git stash save也只是进行第三次提交,以保存这些文件。

git stash save所做的棘手的事情是将这两个或三个提交放在通常的分支系统之外,作为一种方式。它还可以清除(通过git reset --hard,并在使用-u-agit clean时通过提交保存状态后的工作树。

这些技巧很方便,但是can be confusing。对于那些刚接触git的人来说,从普通提交开始可能更好,因为你应该有工具来进行私有(未发布)提交并修改和组合它们(例如,通过交互式rebase和squash)。

答案 1 :(得分:2)

TL' DR:是的。

实际上有两种方式:

使用Tower 2

存储未跟踪的文件

来自Tower 2 Manual

  

在藏匿处保存更改

     

由于藏匿是如此重要的特征,塔非常使用它   easy:在工具栏中,您可以单击[Save Stash]或按[⌘+⇧+ S]   任何时候保存您当前的本地更改。

     

提供简短但描述性的信息有助于您区分   后来不同的Stashes。 作为一种选择,Tower还提供包括   保存Stash时未跟踪的文件。 (由我自己强调)

对于Save-Stash-Dialog中的存储消息,您需要做的只是check the little checkbox following the textfield

软件hickups

如果你这样做了,但你的藏匿没有正确保存,你可能应该向Tower Support团队办理登机手续。为了使他们的工作更轻松,您可能希望首先通过命令行测试存储。

使用命令行客户端

存储未跟踪的文件

无论您使用何种软件,都可以通过命令行工具手动存储。

您要查找的命令是git stash save -u

了解git-stash

由于torek's回答解释了git stash下发生了什么,我强烈建议你阅读它和链接的问题。简而言之,Tower确实在内部使用命令行工具,并为您提供了一个复杂的GUI界面。与往常一样,您可以通过the manual on git-stash深入了解详细信息和选项。