我对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 file,how to push changes made to only certain files?, How to commit only some files?
非常感谢。
答案 0 :(得分:11)
git checkout master
git checkout -b new_branch
git checkout old_branch path/to/some/file
git commit -a
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