相关疑难解决方法(0)

git stash并申请

我是git的新手,并不清楚stashing是如何工作的.

假设我正在分支主服务器上工作并尝试git pull接收错误,即我的本地更改将被覆盖并需要被隐藏或提交.如果我没有上演我的任何更改并运行git stash,那么做一个git pull并成功更新,当我发生了什么git stash apply

一般来说,如果其他人修改文件并且我运行git pull,那么当我发生时会发生什么run git stash apply?它是否会覆盖刚刚更新的文件,无论它们是否在我存储时被暂存?它是否会覆盖我刚刚更新过的每个文件,git pull以及被隐藏的文件?

git git-stash git-pull

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

如何从"git stash save --all"中恢复?

我想隐藏未跟踪的文件,但我继续传递错​​误的选项.对我来说这听起来是对的:

git stash save [-a|--all]
Run Code Online (Sandbox Code Playgroud)

但实际上这也隐藏了文件.正确的是:

git stash save [-u|--include-untracked]
Run Code Online (Sandbox Code Playgroud)

当我运行git stash save -a并尝试git stash pop它时,我得到所有被忽略文件的无数错误:

path/to/file1.ext already exists, no checkout
path/to/file1.ext already exists, no checkout
path/to/file1.ext already exists, no checkout
...
Could not restore untracked files from stash
Run Code Online (Sandbox Code Playgroud)

所以命令失败了.

如何恢复跟踪和未跟踪的更改?git reflog不存储存储命令.

git git-stash

13
推荐指数
1
解决办法
3905
查看次数

确定阻止提交从git中删除的内容

如何通过以下命令确定阻止提交被git修剪的内容?

git reflog expire --expire=now --all

git gc --prune=now
Run Code Online (Sandbox Code Playgroud)

细节

我想XYZ从我的克隆中完全删除提交(例如,提交哈希).如果以上不是正确的命令(或者如果以下任何命令/扣除不正确),请告诉我.

我知道XYZ在运行上面的剪枝后仍然在我的克隆中,因为以下内容返回日志列表:

git log XYZ
Run Code Online (Sandbox Code Playgroud)

我知道这XYZ不在任何分支中,因为以下输出没有:

git branch --contains XYZ
Run Code Online (Sandbox Code Playgroud)

我认为这XYZ不是任何存储因为以下输出没有:

git stash list
Run Code Online (Sandbox Code Playgroud)

XYZ然而,实际上是在藏匿,但git bug阻止了藏匿列表.

git git-gc git-commit git-reflog

3
推荐指数
1
解决办法
53
查看次数

标签 统计

git ×3

git-stash ×2

git-commit ×1

git-gc ×1

git-pull ×1

git-reflog ×1