将文件添加到git的特定分支上

12

我是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分支中,但它们也被包括在主分支中。

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

问题是如何仅在特定分支上添加文件?谢谢。

2
该文件在任何分支上都不存在;在git术语中,它是“未跟踪”的。除非您使用git addgit commit,否则它将继续不存在于存储库中的任何位置,仅存在于您的工作目录中。您需要从一些git基础知识开始...(技术上讲,git add会将其保存到临时文件中,但在git commit步骤之前不会变为永久性)。 - torek
@torek,您的评论就是一个确切的答案。那么为什么不直接回答呢? - RomanHotsiy
https://dev59.com/_HE85IYBdhLWcg3w3Xn6#2569513,这是@torek说的话但更多信息和更具体。 - user3802077
@RomanGotsiy:主要是因为完整的回答会花费太长时间,并且与现有的其他SO答案和Pro Git书籍重复。这个问题暴露了对git的基本误解。 - torek
2个回答

29

为了在特定分支中添加文件,请按照以下步骤进行操作:

创建自定义分支

git branch branchname
为了切换到自定义分支。
git checkout branchname

要在自定义分支中进行初始化

git init

添加文件到自定义分支

git add file name
提交定制分支所做的更改。
git commit -m "your message"

修改你的 GitHub 代码库

git push

希望您能清楚地理解。

谢谢。


1

有时候当你使用

git add fileName

您会遇到以下错误

以下路径被您的 .gitignore 文件之一忽略: fileName

如果仍想添加它,请转到您的 .gitignore 文件并注释与该文件相关联的行,添加 # 符号即可。

#fileName

然后你就能够添加、提交和推送了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接