在分支机构中,文件是在分支机构和主机中创建的,为什么?

时间:2015-11-22 13:44:39

标签: git

基本上如果我这样做:

git checkout -b some-branch
rails generate model some_model
git checkout master

即使现在我在掌握

,上面生成的相同文件也将在master中可用

有什么理由吗?我想创建一个新的分支并创建新文件只会停留在那个分支中,而不是在master中创建。

Git config

core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=https://github.com/user/repo.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master    

2 个答案:

答案 0 :(得分:3)

只要更改没有为提交暂存,它们就不是特定于一个分支。这意味着Git不会改变局部变化。

您有两种选择:

  • git commit更改文件 - 现在git checkout master之后更改仅包含some-branch
  • git stash,移至主人,再次checkout some-branchgit stash pop更改。

答案 1 :(得分:1)

rails generate之后,您没有将文件提交到some-branch分支

在分支之间切换时,git不会更改本地修改的文件或新文件,除非存在冲突。 如果存在冲突,则不允许您更改分支,并建议您存储或提交更改。