标签: git-branch

git分支中的已修改文件正在溢出到另一个分支中

我正在使用主分支和另一个主题分支的git存储库.我已切换到主题分支并修改了一个文件.现在,如果我切换到主分支,则相同的文件显示为已修改.

例如:

git-build分支中的git状态:

# On branch git-build
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   cvsup_current
#
Run Code Online (Sandbox Code Playgroud)

切换到主分支

[root@redbull builder_scripts (git-build)]# git co master
M       builder_scripts/cvsup_current
Switched to branch "master"
Run Code Online (Sandbox Code Playgroud)

主分支中的git状态

[root@redbull builder_scripts (master)]# git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   cvsup_current
#
Run Code Online (Sandbox Code Playgroud)

为什么文件在master分支中显示为已修改,即使它在git-build分支中被修改了?

我的理解是,分支是相互独立的,当我从一个分支转换到另一个分支时,变化不会从一个分支"溢出"到另一个分支.所以我显然在这里遗漏了一些东西.

有人拿到了线索吗?

git git-branch

44
推荐指数
4
解决办法
1万
查看次数

GIT - 我从哪里开始分支?

我回到了一个旧的项目,我跑了很好的git status去弄清楚发生了什么,我注意到了太多的分支!我想在开始再次工作之前做一些家务,但我不确定哪个分支来自哪个..

EG"branchA"是否来源于"发展"?"branchB"是否来自"master"或"branchA"?

我如何回答上面的示例问题?

git branch git-branch

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

Git合并分支成主

我有一个主分支和一个工作branch_1.我想branch_1完全按原样"移动" master.所以我想要这样的东西:

git checkout master
git merge branch_1 # I don't know what is correct...
Run Code Online (Sandbox Code Playgroud)

我做的事情,但我有大量的文件搞砸了恼人的冲突.所以现在master包含完全相同的文件,branch_1避免任何冲突,只是覆盖文件.有帮助吗?

git git-merge git-branch

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

列出git merge commit中的所有修改文件 - 即使是快速转发

我在想是否有一种方法,当我将一个分支合并到另一个分支时,所有已更改的文件都列在我的提交消息中,而不仅仅是在两个分支中都被修改的那些.通过查看合并提交,这将使我更好地了解分支中的更改内容.有没有办法做到这一点?

git merge git-merge git-branch

43
推荐指数
3
解决办法
4万
查看次数

有没有办法在GIT中锁定分支

我想通过在GIT更新挂钩中使用锁定脚本来锁定用户将文件推入其中的存储库,因为推送只能将userid识别为参数而不是分支.所以我可以锁定刚刚锁定目录的整个仓库.

有没有办法锁定GIT中的特定分支?

或者,Update Hook是否可以识别用户正在推送哪个分支以及推送代码的分支?

git git-branch

41
推荐指数
3
解决办法
6万
查看次数

Git checkout不会改变任何东西

我真的很喜欢git.至少,我喜欢git的想法.能够将我的主项目结账为一个单独的分支,在那里我可以改变我想要的任何东西,而不用担心其他一切都搞砸了,这真是太棒了.但它不起作用.

基本上,我的工作流程是这样的:

  1. Checkout稳定版本到新分支以试验新代码
  2. 做一堆改变 - 我无意保留任何这些,我只是在试验.
  3. 看看我改变的所有东西
  4. 添加要跟踪的所有更改
  5. 提交分支并将分支推送到原点(如果有效,否则跳过此步骤)
  6. 决定尝试另一种方法,回到主人
  7. 观察我工作的实验分支中的工件,即使我在主分支中.

每次我将分支签出到另一个分支,对一个分支进行更改,然后签出原始分支,我仍然拥有在另一个分支中发生的所有文件和更改.这非常令人沮丧.我已经读过,当你在IDE中打开文件的时候会发生这种情况,但是我一直非常小心这一点,并关闭了IDE中的文件,关闭了IDE,并在切换之前关闭了我的rails服务器分支,这仍然发生.此外,运行'git clean -f'要么删除在任意提交之后发生的所有事情(并随机地,在那时),或者,如在最新的情况下,不会将任何内容更改回其原始状态.

我以为我正确使用git,但此时此刻,我的智慧已经结束了.我正在尝试使用我的项目的稳定版本来处理一堆实验代码,但我不得不手动追踪并修复我所做的所有更改.任何想法或建议?

git checkout -b photo_tagging
git branch # to make sure it's right
# make a bunch of changes, creations, etc
git status # see what's changed since before
git add . # approve of the changes, I guess, since if I do git commit after this, it says no changes
git commit -m 'these are changes I made'

git checkout master
git branch #=> *master …
Run Code Online (Sandbox Code Playgroud)

git git-checkout git-branch

41
推荐指数
3
解决办法
5万
查看次数

如何在Git中完全清空master分支?

我想完全清空Git中的master分支.现在,我还想保留所有其他分支机构从硕士分支机构.

这可能吗?怎么样?

git git-branch

41
推荐指数
3
解决办法
5万
查看次数

如何在Android Studio中使用git branch

我是git的新手.我有一个非常简单的使用git的场景.我的第一个版本是用Android Studio编写的.现在我想使用一些新功能.到目前为止我做了什么:

  1. 在我的Android Studio中启用了VCS
  2. 从Android Studio为我的项目创建了一个本地存储库
  3. 将我的本地存储库推送到我的Bitbucket远程存储库($git push -u origin master)

现在我对下一步感到困惑:创建一个功能分支.我应该在本地存储库中创建一个分支:

$ git branch --track feature1 origin/master 
Run Code Online (Sandbox Code Playgroud)

或者我应该从Bitbucket门户网站创建一个新的分支,并克隆新的分支?

我还想知道如何使用Android Studio切换分支机构?例如,从功能分支切换到主分支以处理某些修补程序.每次切换分支机构时我是否需要使用Bitbucket插件从远程存储库检查项目,或者我可以在Android Studio中热切换它?

谢谢!

git android git-branch android-studio

41
推荐指数
3
解决办法
7万
查看次数

如何确定特定分支的源分支?

我在git中有一个分支,想要弄清楚它最初分支的分支和什么提交.

Github似乎知道,因为当你执行pull请求时,它通常会自动设置它应该进入的分支,但我无法弄清楚如何从命令行手动执行此操作.

让我添加一个具体的例子:

master -- ongoing development
2.2    -- stable maintenance
Run Code Online (Sandbox Code Playgroud)

feature创建了一个功能分支(在B下面的提交中)并处理(B',C'&E')并与源分支合并以获取CD

 feature branch:    B'-C'-C--D--E'
                   /     /       
 source branch: A--B--C--D--E-- ...
Run Code Online (Sandbox Code Playgroud)

现在我想合并feature回它的源代码,但我不确定它是否最初是分支master或者2.2.为了将功能合并到正确的来源,有没有发现如果源科是一个纲领性的方式master还是2.2

git git-branch

40
推荐指数
3
解决办法
5万
查看次数

在中止git中的当前更改后切换分支

我克隆了一个git repo然后开始在它的主分支中玩.过了一会儿,我想忽略我刚刚做出的改变(不提交它们),然后切换到另一个分支.但是,它阻止我切换,因为有未提交的更改.如何在不隐藏它们的情况下忽略它们?这是发生的事情:

$ git checkout gh-pages
error: Your local changes to the following files would be overwritten by checkout:
        somefile.txt
Please, commit your changes or stash them before you can switch branches.
Aborting
Run Code Online (Sandbox Code Playgroud)

git git-stash git-branch

40
推荐指数
3
解决办法
5万
查看次数