如何在git中将某些文件推送到origin / master?

时间:2014-09-05 15:25:40

标签: git push

我对Git有点新鲜。我想将一些文件推送到我的git origin(远程)。

我做了什么: 我有我的主人 - >我创建了一个分支来做一些工作 - >之后我将我的分支合并到了我的主人。在我的工作中,很多二进制文件和项目文件在本地被更改/添加。我希望添加更改为远程服务器的 .java 文件。 (我相信当我在我的分支上工作时,我尝试了提交。只是为了检查它是如何工作的)

我的主人是最新的与我的来源(我做git pull时得到的结果git fetch origin。 我总是收到:(当我跑git status时)

On branch master Your branch is ahead of origin/master by 12 commits.
  (use "git push" to publish your local commits)

nothing to commit, working directory clean` 

我尝试添加,提交这些文件,但未更改运行git status。 我试图在新分支上添加,提交

On branch NewBranch nothing to commit, working directory clean

我试图重置Head。 我没有在git教程或Stack中找到我的问题的解决方案。

当然我可以将所有文件推送到远程源,但我认为这不是一个好的解决方案。 我发现一些重复的问题: How to push a single filehow to push changes made to only certain files?How to commit only some files?

非常感谢。

2 个答案:

答案 0 :(得分:11)

  1. 从master创建一个新分支
    1. git checkout master
    2. git checkout -b new_branch
  2. 从旧分支机构中查看您想要的文件
    1. git checkout old_branch path/to/some/file
    2. 根据需要重复其他文件
  3. 将文件提交到新分支
    1. git commit -a
  4. 将新分支推送到您的原点
    1. git push origin master

答案 1 :(得分:2)

我解决了我的问题:(我对git状态响应感到困惑,因为当我尝试添加/提交已存在的文件时,它没有被更改。)感谢linuxdan和DaveZych以及Temich。

git checkout -b NewBranch

之后我删除了所有不必要的文件。

git rm --cache build/web/WEB-INF/classes/doggizz/utils/\*.class

回到主人

git checkout master

(唯一不利的是当我搬回主人那些文件被删除所以我手动复制项目文件,我试图在结帐之前藏匿但是它没有帮助)

git merge NewBranch
git push