问题标签 [git-stash]
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 stash?
是否有最大数量的 git stash,或者您可以拥有任意数量的 git stash?
我知道
没有列出尽可能多的结果
但是,Linus Torvalds 是否认为任何拥有超过x 个存储的人都是白痴,应该失去旧的存储?
git - 过滤 master 后,如何检索旧 master 上的隐藏更改?
我按照GitHub 的说明从 git 存储库中删除敏感文件,因为我想删除一些不应该签入的二进制文件。
我第一次调用git filter-branch
命令失败了:
无法用脏工作目录重写分支。
因为我有本地的变化。因此,我用 隐藏了这些更改git stash
,并重新运行了 filter-branch 命令。
然后我按照 GitHub 说明运行了这些命令:
二进制文件的删除似乎完美无缺。但是,当我现在输入 时git stash list
,我在旧主服务器上添加的存储条目不会显示。
我所拥有的只是git stash
第二次执行 filter-branch 命令之前的输出:
此外,a19db18332b19ea41be888eccfc07e6680d8d6dd
是被重写的提交之一。
有没有办法检索隐藏的更改?
git - 防止 Git Stash 重置暂存文件
假设以下场景:
文件a
和b
都被修改,并a
在索引中暂存。如果您运行git stash
then git stash pop
,则文件a
不再暂存。
你如何使git stash
索引恢复到以前的状态?
git - 为什么`git stash -p`有时会失败?
我♥ git stash -p
。但有时,在令人满意的 , 和 会话之后y
,n
我s
会得到这个:
为什么?
git - 我怎样才能 git stash 一个特定的文件?
如何存储特定文件,而将当前修改的其他文件留在我要保存的存储中?
例如,如果 git status 给我这个:
我只想存储 app/views/cart/welcome.thtml,我该怎么做?类似的东西(但当然这不起作用):
git - 如何删除使用 git stash create 创建的存储?
Git stash 似乎做了很多我想做的事情,除了编写脚本有点困难,因为如果你没有更改,那么git stash; git stash pop
将做一些不同于你在存储库中有更改的事情。
似乎这git stash create
是该问题的答案,并且一切正常,除了一件事……我无法摆脱创建的存储。有什么办法可以摆脱藏匿处?
为了让我 100% 清楚我在做什么:
创建存储:
使用存储:
删除存储:(除了最后一点不起作用)
git - git-stash 找不到工作树
我正在尝试通过以下方式使用手动定义的工作树设置 git 存储库:
运行上述内容后,我可以通过以下方式添加位于“/Users/braitsch/projects/project1”
中的文件: git add somefile 或 git add 。
提交工作正常,就像调用“git branch”一样
但是,git stash list
会引发以下错误:
致命:/usr/local/Cellar/git/1.7.4.4/libexec/git-core/git-stash 不能在没有工作树的情况下使用。
用户定义的工作树不支持存储吗?
任何想法将不胜感激!
- - - - 更新 - - - -
正如@jleedev 在下面指出的那样,尝试从工作树外部调用“git stash”时似乎确实存在错误。但是,我的解决方法是只 cd 进入工作树,然后通过首先在 gitdir 的路径之前调用 stash。不方便,我知道,但以下适用于 stash 命令:
这个问题似乎并没有困扰其他股票命令,如添加、提交、分支等。据我所知,只是“隐藏”。
如果您希望摆脱将 .git 文件夹嵌套在工作树内的默认结构,您可能会发现以下步骤很有用:
- 创建一个您想要存储 git 存储库的目录
- 创建一个您想要保存要跟踪的文件的目录(这两个都可以在您的文件系统上的任何位置)
cd 进入您的 git 存储库文件夹并运行:
这将初始化一个新的存储库并将其链接到您的外部工作树文件夹。
要运行标准的添加、删除、分支、提交命令,请 cd 进入您的 git 存储库并像往常一样运行您的命令。但是,要运行 stash,请确保 cd 进入您的工作树,然后运行 stash,正如我在上面提到的那样,在命令前面加上 gitdir 的路径。
git - git - 存储弹出期间合并冲突后的错误
原标题:git - 更新所有未更改的文件
目前我正在尝试更新 git 存储库中尚未更改的所有文件。例如,我有:
- 测试1.py
- 测试2.py
test1.py 已在本地修改,而两个文件均已远程修改。现在我尝试了:
它恢复了我的更改,给了我一个需要合并的警告test1.py
。到现在为止还挺好。当我尝试再次执行相同的过程时出现问题(在两个文件再次远程更改之后)。Git现在说
这让我有点难过。它只想要一件简单的事情:更新我没有更改的所有文件。稍后我会处理合并。
git - 如何存储我的更改并返回到我上次在 Git 中签入?
故事是这样的:
我分支了我的 repo 以尝试对我的 wcf 东西的工作方式进行一些更改。一天前我检查了我对新分支的更改,当时一切都很好,然后我开始对 wcf 感到有点奇怪。然后我开始尝试一些尚未真正奏效的东西,尽管我认为我走在正确的轨道上。
现在我没有时间继续尝试这个,所以我想回到我上次签到的地方,但我不想永远失去这些东西。这可能吗?
git - 带有两个命令(stash pop + merge)的 Git 别名仅执行第一个命令。为什么?如何执行合并?
我设置了一个这样的 git 别名:
然后我这样称呼它:
“ git stash pop ”被执行,但“ git merge master ”被忽略。
如果我在“ git popmerge ”之后立即运行“ git merge master ”......它按预期运行,执行合并。
我还有其他具有长命令序列的别名......它们运行完美。似乎“ git stash pop ”中的某些东西使别名进程停止......是否可以避免这种行为?如何?
谢谢。