Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git push没有看到我所有的更改_Git_Github_Gitignore - Fatal编程技术网

Git push没有看到我所有的更改

Git push没有看到我所有的更改,git,github,gitignore,Git,Github,Gitignore,比如说,我创建了一个私有GitHub repo,并选择让它为我生成一个.gitignore和README.md。然后我在本地克隆了这个repo,并添加了一堆文件。我还修改了我的.gitignore以及GitHub为我生成的README.md 然后我这样做了: git commit -a -m "Initial commit with basic project structure." 然后这个: git push 它要求我进行身份验证,我做到了,“推送”似乎成功了。所以我回到我的GitHub

比如说,我创建了一个私有GitHub repo,并选择让它为我生成一个
.gitignore
README.md
。然后我在本地克隆了这个repo,并添加了一堆文件。我还修改了我的
.gitignore
以及GitHub为我生成的
README.md

然后我这样做了:

git commit -a -m "Initial commit with basic project structure."
然后这个:

git push
它要求我进行身份验证,我做到了,“推送”似乎成功了。所以我回到我的GitHub repo,在刷新页面之后,我仍然只看到我的两个GitHub生成的文件(
.gitignore
README.md
),但是它们已经用我的更改进行了更新,甚至在它们旁边显示了正确更新的时间戳和提交消息(“使用基本项目结构进行初始提交”)

因此,这就像推送过程尊重正在更改的两个GitHub生成的文件,但忽略了我的所有其他更改。这是我的
.gitignore

*.class
.mtj.tmp/
*.jar
*.war
*.ear
hs_err_pid*
.metadata
.gradle/
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.project
.externalToolBuilders/
*.launch
.cproject
.classpath
.buildpath
.target
.texlipse
我添加了一个文件,但在GitHub上没有的例子是
build.gradle
,它不应该与ignore文件中的任何内容匹配。想法


注意:当我右键单击我的本地repo root目录并转到
Git Gui
时,我看到GitHub上丢失的所有文件都在本地显示为“unstage”。不确定这是否意味着什么。

git commit-a
不会添加以前未跟踪的文件。您可以使用
git add.
在提交之前添加所有内容。那时不再需要
-a

(我的重点):

-a
--全部

告诉命令自动暂存已修改和删除的文件,但未告知Git的新文件不受影响


看起来很好。当您执行
git提交-a
时,git已经跟踪的所有文件都将提交,在您的情况下,这些文件将只是GitHub生成的文件。除非您
git add
git commit
,否则不会提交新文件。要检查git正在跟踪哪些文件,请使用
git ls tree-r master--name only
。在提交之前进行
git状态检查也可能有用:

$git状态
论分行行长
未为提交而暂存的更改:
(使用“git add…”更新将提交的内容)
(使用“git签出--…”放弃工作目录中的更改)
###将使用git commit-a提交的文件显示在此处
未跟踪的文件:
(使用“git add…”包含在将提交的内容中)
###将不使用git commit-a提交的文件显示在此处
未向提交添加任何更改(使用“git add”和/或“git commit-a”)
要解决当前问题,您可以执行以下操作:

$#取消上次提交
$git重置头~1--软
$#添加缺少的文件
$git add build.gradle
$#重新提交
$git commit-a-m“具有基本项目结构的初始提交”
$#强制推送,因为git会抱怨覆盖了提交
$git推送—强制