2011-01-27 39 views
28

「変更されましたが更新された平均」とは何ですか?これらのファイルはgitにあり、変更されていますが、 "git status"を実行すると、 "Changes to commit"の代わりに "Changed but updated"の下に表示されます。Git:ファイルは「変更されましたが更新されていません」

# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# modified: breakouts/views.py 
# 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: templates/registration/login.html 
# modified: templates/registration/registration.html 

# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# context_processors.py 
# static/#css.css# 

なぜ「変更がコミットされました」ではないのですか?

+1

ここでの重要なアイデアは、 'git add'を使うことです。コミットを準備することです。ステージング領域(インデックス)に変更を加えて、コミットしたいものをステージしたら、コミットします。これにより、コミットに何が入るかを非常に注意することができます。 – Cascabel

答えて

5

ファイルを変更するたびに、最初にファイルを追加したとしても、ファイルをコミットできるようにするには、git addを使用してファイルを追加する必要があります。

3

git add <file>はローカルコミットスケジュールに「変更」を追加します。変更が加えられていない場合はコミットされません。

なぜですか?これはgitのワークフローです。言い訳に開かれた用語があるように、おそらくあなたはaddのSVNの考えに慣れています。あなたが想定していることを避け、gitが何をするかを学びましょう。

23

あなたがgit add毎回OR使用git commit -aまたはその代わりに、プレーンgit commitgit commit --allを使用する必要があります。 Git docsから

 
-a 
--all 
    Tell the command to automatically stage files that have been modified 
    and deleted, but new files you have not told git about are not affected. 

addは、基本的には、 "このファイル/ディレクトリの通知を取る" コマンドです。 CVSやSubversionのこのファイルへの変更はありません。

+2

より新しいバージョンのgitバージョン(> 1.8)では、「変更されましたが更新されていません」というコメントが「コミットのためにステージングされていない変更」に変更されました –

関連する問題