相关疑难解决方法(0)

Git:从master上的未分级/未提交的更改创建分支

上下文:我正在为master添加一个简单的功能.几分钟后,我意识到这不是那么简单,应该更好地进入一个新的分支.

这总是发生在我身上,我不知道如何切换到另一个分支并采取所有这些未经修改的更改与我离开主分支清洁.我想git stash && git stash branch new_branch应该只是完成它,但这就是我得到的:

~/test $ git status
# On branch master
nothing to commit (working directory clean)

~/test $ echo "hello!" > testing 

~/test $ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   testing
#
no changes added to commit (use "git add" and/or …
Run Code Online (Sandbox Code Playgroud)

git git-stash

949
推荐指数
5
解决办法
27万
查看次数

只收藏Git中没有上演的变化

我想做以下工作流程:

  1. 向舞台添加更改.
  2. 存储所有未暂存的其他更改.
  3. 在阶段做一些事情(即构建,运行测试等)
  4. 应用藏匿处.

有没有办法做第2步?

 echo "123" > foo
 git add foo # Assumes this is a git directory
 echo "456" >> foo
 git stash
 cat foo # Should yield 123
Run Code Online (Sandbox Code Playgroud)

git git-stash

193
推荐指数
9
解决办法
4万
查看次数

Git stash未缓存:如何收起所有未分级的变化?

假设在由git版本化的项目中进行了两组更改.一套是上演的,另一套则没有.

我想通过在此状态下运行我的项目(在提交之前)来重新检查暂存的更改.什么是简单的方法来收起所有未分阶段的变化并且只留下上演?所以我需要从我的项目中消失的非分段更改,但是要存储在某个地方以便进一步工作.

这听起来非常像git stash命令.但是git stash会将未分阶段和分阶段的更改从我的项目中移除.我找不到类似的东西git stash uncached.

git git-stash

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

你怎么告诉git只存储索引?

我刚刚使用"git add -p"为索引添加了一堆更改,我才意识到我错过了一个应该进入上一次提交的更改.

我现在不能提交--amend因为我已经将所有这些新的更改添加到索引中,并且我不想使用'git reset'将它们全部从索引中删除,因为它需要很长时间才能添加它们又回来了.

我需要的是像'git stash'这样只会隐藏索引的东西 - 它应该只保留工作文件.然后我可以存储索引,添加缺少的更改,提交它,然后弹出存储并使我的索引恢复原样.

它看起来不像'git stash'能够做到这一点,但我错过了什么吗?谢谢!

git

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

你如何只存储已添加的文件?

例如,a git status给出以下内容:

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   app/src/[....]
    modified:   app/src/[....]
    new file:   app/src/[....]
    deleted:    app/src/[....]
    modified:   app/src/[....]
    modified:   test/unit/[....]
    modified:   test/unit/[....]
    new file:   test/unit/[....]
    deleted:    test/unit/[....]
    modified:   test/unit/[....]

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   test/unit/[....]

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    app/src/[....]/
    app/src/[....]/ …
Run Code Online (Sandbox Code Playgroud)

git git-stash

15
推荐指数
3
解决办法
9602
查看次数

仅使用 git 存储未暂存的更改(而不是 --keep-index)

首先,我确实知道--keep-index. 这不是我想要的,因为它仍然隐藏所有更改,但将暂存的更改留在工作树中。如果可能的话,我只想存储未暂存的文件,而不用git stash --patch.

git

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

合并git分支而不移动分支指针

我正在寻找一种解决方案,将功能分支应用到 git 中的开发分支,而无需实际移动分支指针。本质上,我想从功能分支创建一个提交,并确保它以某种方式指向原始分支(在日志中提及可能就足够了)。

我知道堆叠的 git 应该提供类似的东西,尽管这会为我宁愿避免的标准工作流程引入新的命令。

我想要实现的是某种功能管理,它允许我们应用/删除整个功能,同时保持补丁分支本身的可见性。如果我确实合并了分支,则大多数尝试区分更改的命令都不会执行我想要的操作,因为该分支已经合并到开发中。

我无法真正遵循上游 - 有时通过获取新标签并仅重新应用需要的功能而不是解决冲突和恢复冗余功能来更容易纠正并发更改 - 所以这种工作方式是不可能的。另一方面,我确实希望看到更改,以便我可以对其进行修改以匹配新版本,或者稍后向上游提交。

git

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

标签 统计

git ×7

git-stash ×4