60

私は非常に基本的なgithubセットアップを持っており、readme、ディレクトリ、およびその中にhtmlファイルを含む別のディレクトリがあります。githubでは、readmeと最初のフォルダーのみを表示できますが、その内容は表示できません。このメッセージが表示されます。

tc349 ryntc3$ git add *
tc349 ryntc3$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules) 

modified:   week1 (modified content)

no changes added to commit (use "git add" and/or "git commit -a")

ステージングするためにすべてを追加するのであれば、それは問題ではないはずだと感じています。何か助けはありますか?

4

13 に答える 13

68

やってみました

git add .

これはサブディレクトリに繰り返されますが、*はそうではないと思います。

こちらをご覧ください

于 2012-05-23T14:24:11.557 に答える
43

警告!これにより、サブモジュールのGit履歴全体が削除されます。これは、事故によってサブモジュールを作成した場合にのみ行ってください。確かに、ほとんどの場合にやりたいことではありません。

week1フォルダー内に移動し、 .gitフォルダーを削除する必要があると思います。

sudo rm -Rf .git

次に、トップレベルのフォルダに戻り、次の手順を実行します。

git add .

次に、コミットを実行してコードをプッシュします。

于 2012-11-08T09:56:43.303 に答える
34

私の場合、

 git add files
 git commit -am 'what I changed'
 git push

コミットの「a」が必要でした。

于 2015-11-19T06:47:55.933 に答える
29

week1サブモジュールですか?

git statusコマンドの出力から関連する部分に注意してください。

(サブモジュール内の追跡されていない、または変更されたコンテンツをコミットまたは破棄します)

cd week1別のサブモジュールを発行git statusして、サブモジュールに加えた変更を確認してくださいweek1

Gitでサブモジュールがどのように機能するかについての詳細は、http: //git-scm.com/book/en/Git-Tools-Submodulesを参照してください。

于 2012-06-10T22:03:53.307 に答える
9

警告!これにより、サブモジュールのGit履歴全体が削除されます。これは、事故によってサブモジュールを作成した場合にのみ行ってください。確かに、ほとんどの場合にやりたいことではありません。

私の状況では、ディレクトリを持つサブディレクトリがありました.git

私がしていることは.git、サブディレクトリからそのディレクトリを削除することです。

于 2016-11-29T04:28:10.897 に答える
3

私も同じ問題を抱えていました。「コミット用にステージングされていない」サブディレクトリに移動し、そこから追加、コミット、プッシュすることになりました。その後、マスターディレクトリに1レベル上がって、正しくプッシュできました。

于 2016-03-24T15:13:46.130 に答える
3

私の場合、問題は私がプッシュしようとしていたサブフォルダーがgitフォルダー自体であったことでした

だから私は次のことをしました

  1. プッシュして実行するサブフォルダー内に移動します。
rm -rf .git
  1. 次に、これを実行します。
 git rm --cached <subfolderName>
  1. 次に、メインプロジェクトフォルダーに移動してこれを実行します(フォルダー名の後に/を必ず追加してください)
    git add <folderName>/
    git commit -m "Commit message"
    git push -f origin <branchName>

于 2020-08-29T18:13:18.987 に答える
2

私の場合.git、親とサブフォルダーの両方にプッシュするリモートがあるため、サブディレクトリに含まれているサブディレクトリをコミットする必要がありました。次に、親ディレクトリをコミットしてプッシュします。

于 2016-01-14T03:39:15.057 に答える
2

このコマンドは問題を解決するかもしれません:

git add -A

すべてのファイルとサブディレクトリが追加され、追跡されます。

それが役に立てば幸い

于 2019-04-03T01:21:17.403 に答える
2

サブモジュールの場合は、それにcdしてから使用する必要がありますgit add . && git commit -m 'Your message'

そこから、CDを取り出して、必要なブランチにプッシュできます。

于 2019-08-16T09:27:40.250 に答える
1

何をしても同じメッセージが届き続けました。

これを修正するために、.gitignoreを削除しましたが、コミットメッセージ用にステージングされていないGithubの変更を取得できなくなりました。gitaddを実行したときに一度コミットできるようになる前。その後、同じメッセージが表示されます。

.gitignoreファイルが問題を引き起こしている理由はわかりませんが、ローカルマシンに追加したため、正しく同期されなかった可能性があります。

于 2013-11-19T18:41:41.373 に答える
1

Stackoverflow全体で提案されたすべてを試しました。-aや-amなど何も役に立ちませんでした。

あなたが同じなら、これをしてください。

したがって、問題は、gitがサブディレクトリの一部がルートプロジェクトのサブプロジェクトであると見なしていることです。少なくとも、私の場合はそうではありませんでした。それはただの通常のサブディレクトリでした。個別のプロジェクトではありません。

一時的な場所にプッシュされていない通常のサブディレクトリを移動します。

そのディレクトリから非表示の.gitフォルダを削除します。

cdルートディレクトリに移動します。

git initまた。

git add .また。

git commit -m "removed notPushableDirectory temporarily"

git push -f origin master

gitはリモートgitとローカル構造の間の競合を確認するため、強制する必要があります。この競合を作成したことを忘れないでください。だから、それを強制することを心配しないでください。

これで、ルートプロジェクト内のサブモジュールやサブプロジェクトとしてではなく、サブディレクトリとしてそのサブディレクトリがプッシュされます。

于 2019-01-09T23:32:58.887 に答える
1

これは、ステージングおよびコミットされていない変更を含む子リポジトリ「サブモジュール」があるために発生すると考えられます。

同様の問題があり、IDEがコミットされていない変更を報告し続け、stage(git add .)およびcommit(git commit -m "message")コマンドを実行しても効果がありませんでした。これを後から考えると、親リポジトリではなく、子リポジトリにステージングとコミットが必要な変更が加えられたことが原因である可能性があります。

問題を修正した手順

  1. cdサブモジュール(という名前の隠しフォルダーがあります.git)に移動し、ステージング(git add .)およびコミット(git commit -m "Update child repo")するコマンドを実行します。
  2. cd ..親リポジトリに戻り、ステージング(git add .)およびコミット(git commit -m "Update parent repo")するコマンドを実行します。

役に立たなかったアドバイス

  • sudo rm -Rf .git==このコマンドは使用しないでください==サブモジュールリポジトリの履歴を完全に削除します(GITの目的)
  • git add -A===追跡されていないファイルを追加しましたが、問題は修正されませんでした
于 2019-10-14T07:33:36.003 に答える