【发布时间】:2014-07-17 14:35:51
【问题描述】:
我是 git 新手,希望能正确使用它。
git init
git add . // added the whole directory
git commit -m "initial stage"
git checkout -b "version1"
git branch
master
* version1
现在我想在目录中添加一些新文件
cp /path/to/file/admin.php /path/to/git/folder/.
这些文件应该只包含在 version1 分支中,但它也包含在 master 分支中
git add admin.php
git status
On branch version1
Untracked files:
(use "git add <file>..." to include in what will be committed)
admin.php
git checkout master
git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
admin.php
问题是如何只在特定分支上添加文件?
谢谢
【问题讨论】:
-
该文件在 either 分支上不存在;用 git 术语来说,它是“未跟踪的”。在您
git add和git commit之前,它将继续不存在于存储库中的任何位置,仅存在于您的工作目录中。您需要从一些 git basics... 开始(*从技术上讲,git add会将其保存为临时的,但在git commit步骤之前它不会成为永久性的。) -
@torek 您的评论正是答案。那为什么不回答呢?
-
stackoverflow.com/a/2569513/3802077,@torek 所说的,但有更多信息和更具体
-
@RomanGotsiy:主要是因为完整的答案需要很长时间,并且与其他现有的 SO 答案和 Pro Git 书籍相比是多余的。这个问题暴露了对 git 的根本误解。