2017-05-26 6 views
0

gitignoreファイルにあったとgitのは、それがGitのコミットファイルにもかかわらず、私は、最初は私のリモートリポジトリにコミットしていた

.DS_Store 
.sass-cache/* 
.vagrant/ 
wp-config.php 
Vagrantfile 

/filer 

は私が間違って何をやっている.gitignoreファイルに記載されていたにもかかわらず、ファイルwp-config.phpをアップロードリモートリポジトリにそのファイルを保存することはできません。どうすればアップロードできないのですか?

+0

'.gitignore'は' git add'によってのみ読み込まれます。 '.gitignore'に名前を書き込む前にrepo **にファイルを追加した場合、それらはすでにrepoに追加されています。あなたは 'git rm --cached wp-config.php'と' git commit --amend'を使って最新のコミットから削除することができます(あなたが今までに行った唯一のものだと仮定して)。 – axiac

+1

私が理解しているところでは、そのファイルが '.gitignore'にあれば、Gitはそのファイルをuntrackedとして扱っていたはずです。あなたはこのファイルを 'git add 'できたと言っていますか? –

+0

ファイルがすでに追跡されている場合は、 '.gitignore'にリストすることは効果がありません。ファイルは* index *内にある場合にのみ追跡されます。インデックスは、(a)コミットをチェックアウトしたとき、 (b)ファイルを 'git add'して既存のインデックスエントリにコピーします。 (c)索引になかったファイルを 'git add'して、今のところそれが存在するようにします。および/または(d)索引のファイルを 'git rm'します。そのような変更の後、ファイル*が索引に*ある場合、*は*追跡されます。そうでない場合は、追跡されません。トラッキングされていないときだけ、 '.gitignore'はそれに影響します。 – torek

答えて

0

ファイルはすでにHEADの一部です(つまり、既に追跡していることを意味します。その場合は.gitignoreは考慮されません)。ファイルが追加される前にインデックスに追加されています.gitignoreファイルに追加します。後者の場合は、それをリセットして(インデックスから削除する)、もう一度気にしないでください。それが最初の場合は、git rm --cacheを使ってインデックスから削除するか(FS上に残しておく)、次のリビジョンまたはで消えてしまい、ブランチの履歴から完全に削除することができますこれは、通常、ブランチの履歴を書き直すことを意味します(そして、それは結果をもたらします):Completely remove file from all Git repository commit history

関連する問題