相关疑难解决方法(0)

在Git中,HEAD,工作树和索引之间有什么区别?

有人能告诉我在Git中HEAD,工作树和索引之间的区别吗?

据我所知,它们都是不同分支的名称.我的假设是否正确?


编辑

我找到了这个

单个git存储库可以跟踪任意数量的分支,但是您的工作树只与其中一个分支相关联("当前"或"已检出"分支),HEAD指向该分支.

这是否意味着HEAD和工作树总是一样的?

git version-control

453
推荐指数
5
解决办法
13万
查看次数

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
查看次数

什么是存储后出现的"WIP"和"索引"提交?

当我git lg在本地开发分支上运行时,最新的提交如下所示:

* 7d21213 - (1 hours ago) update business rules - developer1 (HEAD, origin/develop, origin/HEAD, develop)
Run Code Online (Sandbox Code Playgroud)

但是,如果我通过运行git stash然后运行来存储本地更改git lg,我会得到以下内容:

*  at12334 - (13 seconds ago) WIP on develop: 7d21213 update business rules - developer1 (refs/stash)
|\
| * ef9a11b - (14 seconds ago) index on develop: 7d21213 update business rules - developer1
|/
* 7d21213 - (1 hours ago) update business rules - developer1 (HEAD, origin/develop, origin/HEAD, develop)
Run Code Online (Sandbox Code Playgroud)

这是什么意思?看来,两个新的提交(标记indexWIP)的积攒后创建.是这样的,如果是这样,这些提交背后的逻辑是什么? …

git git-stash git-log

13
推荐指数
2
解决办法
4270
查看次数

标签 统计

git ×4

git-stash ×3

git-log ×1

git-pull ×1

version-control ×1