【问题标题】:How to transfer uncommited changes form one branch to other [duplicate]如何将未提交的更改从一个分支转移到另一个[重复]
【发布时间】:2012-12-31 15:56:05
【问题描述】:

我的 git status 显示如下,我想创建一个新分支并将这些未提交的更改转移到该分支..我该怎么做?

<prompt>git status
# Not currently on any branch.
# 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:   DATA/code/inc/sirApi.h
#       modified:   DATA/code/src/pe/include/miloSession.h
#       modified:   DATA/code/src/pe/milo/miloProcessSmeReqMessages.c
#       modified:   DATA/SME/src/sac/sacApiRoam.c
#       modified:   DATA/SME/src/sac/sacInsideApi.h

【问题讨论】:

标签: git


【解决方案1】:

试试这个:

git checkout -b newbranch
git add [your files]
git commit -m'Your message'

如果你想提交所有文件,你可以运行

git checkout -b newbranch 
git commit -a -m'Your message'

【讨论】:

  • @aag - 有没有一种方法可以一次性添加所有这些文件,而不是一个一个地添加
  • 是那个git add -A - ..最后有个“-”
  • 如果我想在我的工作目录中添加所有内容,我发现git add . 是最直观的形式。
  • @user1934146:不。 - 是由 Stack Overflow 在评论末尾添加的。看之前的评论比较一下:)
  • git add . 不会将已删除的文件添加到暂存区,而 git add -A 会。以防万一你不知道。看看at the manual page,选项 -A 和 -u
【解决方案2】:

使用

git checkout -b <new-branch> <start-point>

其中 new-branch 是您要创建的分支的名称,并将 sha1 指向您希望新分支开始的位置。既然你是超然的,我认为最好明确说明起点,这样你就可以确定你的分支从哪里开始。

【讨论】:

    猜你喜欢
    • 2018-08-12
    • 2011-05-06
    • 2016-09-15
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 2018-12-19
    • 2016-06-04
    • 2021-09-22
    相关资源
    最近更新 更多