質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.54%

  • MacOS(OSX)

    2299questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Git

    1599questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    1006questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

  • BitBucket

    199questions

    BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。

  • SourceTree

    173questions

    SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

ディレクトリ以下のファイルを全てgit commitする方法はありますか?

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 821

nk117

score 23

mac osx
git
bitbucket
sourcetree

上記の環境で開発をしてる者です。

なぜかローカルに存在するファイルがリモートにない状況です。

通常、ローカルリポジトリのファイルをコミットしたい場合、git addを使いますが、ファイルに変更を加えていないため、git statusにファイルが表示されない状況です。

変更されていないディレクトリ以下のファイルを全てコミットする方法はありますか?

目的としてはリモートリポジトリのファイルを更新できればいいのですが、FTPのようにリモートリポジトリに直接ファイルをアップロードしたりする方法があればいいのですが。。。

gitに詳しい方アドバイス宜しくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

いったんそのフォルダ配下のファイルをどっかに退避した後にコミットして、再度ファイルを戻して、git add するとどうなります?(未確認)

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/16 20:03

    前に大量のファイルをプッシュしてしまい、容量オーバーになった経験があります。もしも失敗してローカルがプッシュできないリポジトリになってしまった場合、ローカルリポジトリを削除して、新たにgit cloneすれば良さそうですか?

    キャンセル

  • 2017/02/17 09:47

    adminのフォルダ(activedmin-4f494073c6c0以下全てのフォルダとファイル)を移動してgit statusで確認すると、deleted: vendor/bundle/bundler/gems/activedmin-4f494073c6c0の表示が出ました。git add vendor/bundle/bundler/gems/activedmin-4f494073c6c0、git commit -m"git add vendor/bundle/bundler/gems/activedmin-4f494073c6c0"でリモートにプッシュすると、リモートは更新されました。再度ローカルにadminのフォルダを戻し、git statusをすると、vendor/bundle/bundler/という表示が出ていますが、vendor/bundle/bundler/gems/activedmin-4f494073c6c0とはなっていません。

    キャンセル

  • 2017/02/17 10:32

    .gitフォルダも上書きしちゃったってことはありません?

    キャンセル

  • 2017/02/17 10:37

    .gitフォルダとはなんでしょうか?

    キャンセル

  • 2017/02/17 10:39

    基本的にはリポジトリのルートに自動的に作成されるフォルダです。

    キャンセル

  • 2017/02/17 11:20

    .git調べました。activedmin-4f494073c6c0だけしか触っていないので上書きはされていないと思います。git initはprojectsフォルダでしています。今回移動したのは、projects/vendor/bundle/bundler/gems/activedmin-4f494073c6c0です。このactivedmin-4f494073c6c0以下にcssが入っています。

    キャンセル

  • 2017/02/17 11:35

    ローカルにあるものですべて上書きしていいのでしたら、一つ親のフォルダにいって
    git add activedmin-4f494073c6c0 -f
    をやってみてください。

    キャンセル

  • 2017/02/17 18:55

    ご返信有難うございます。
    挙動の確認ですが、vendor/bundle/bundler/gems/activedmin-4f494073c6c0となっている場合、
    $cd vendor/bundle/bundler/gems
    $git add activedmin-4f494073c6c0 -f
    $git status
    activedmin-4f494073c6c0以下のフォルダとファイルがindexにステージングされた状態になっているという認識で合っていますか?

    キャンセル

  • 2017/02/17 18:56

    ええ、そうなると思いますが。

    キャンセル

  • 2017/02/17 18:57

    有難うございます。さっそく試してみます。

    キャンセル

  • 2017/02/17 19:10

    git statusすると、
    new file: activeadmin-4f494073c6c0
    がステージングされており、
    commitしたファイルの内容を確認した所、
    +Submodule vendor/bundle/bundler/gems/activeadmin-4f494073c6c0
    となっています。現段階では他にファイルやフォルダは確認できないのですが、このままpushして良さそうですか?

    キャンセル

  • 2017/02/17 19:13

    よさそうと思います。

    キャンセル

  • 2017/02/17 19:27

    bitbucketのリモートリポジトリのソースで確認した所、activeadmin-4f494073c6c0 → 4f494073c6c0 [4f494073c6c0]というフォルダができておりました。テスト環境のローカルリポジトリでgit pullしたところ、フォルダは作成されていましたが、中身は空のままです。> <

    キャンセル

  • 2017/02/17 19:29

    その状態でファイルを追加してcommit / push してみてはいかがでしょう。

    キャンセル

  • 2017/02/17 19:34

    その状態でファイルを追加してcommit / push してみてはいかがでしょう。
    >一つずつファイルとフォルダをaddして、commit / push という流れでしょうか?

    キャンセル

  • 2017/02/17 19:36

    全ファイルを追加したら、全ファイルステージングされません?

    キャンセル

  • 2017/02/17 19:49

    activeadmin-4f494073c6c0以下の全フォルダと全ファイルを指定してaddするコマンドがあるのですか?

    キャンセル

  • 2017/02/17 19:51

    その一つ親フォルダに行って
    git add フォルダ名
    でできません?

    キャンセル

  • 2017/02/17 20:03

    git add フォルダ名をして、git statusで確認してみると、modified: activeadmin-4f494073c6c0 (modified content)という表示があり、作業履歴が残っているだけで、addできてないように思われます。>
    <

    キャンセル

  • 2017/02/17 20:08

    もう一つの方法としては、activeadmin-4f494073c6c0フォルダに移動して、
    git add .
    してみてください。

    キャンセル

  • 2017/02/17 20:25

    $cd activeadmin-4f494073c6c0
    $git add .
    &git status
    をすると、
    modified: activeadmin.gemspecという謎のファイルが出現しました。調べたところ、Gemfile的なものらしいですね。初めて見るファイルなので、警戒しております。

    キャンセル

  • 2017/02/17 20:41

    git add . はワーキングツリーに新規作成された、もしくは変更されたファイルをaddします。という記述を見つけました。無視されているファイルをgit statusで確認できるようにするコマンドを試してみました。

    キャンセル

  • 2017/02/17 20:46

    git status --ignored
    On branch master
    Your branch is behind 'origin/master' by 156 commits, and can be fast-forwarded.
    (use "git pull" to update your local branch)
    Changes to be committed:
    (use "git reset HEAD <file>..." to unstage)

    modified: activeadmin.gemspec

    Ignored files:
    (use "git add -f <file>..." to include in what will be committed)

    .DS_Store
    app/.DS_Store
    app/assets/.DS_Store
    app/assets/stylesheets/.DS_Store
    app/views/.DS_Store
    app/views/active_admin/.DS_Store
    app/views/active_admin/devise/.DS_Store
    spec/unit/views/.DS_Store

    ここで初めてadminに関連するファイルが出現しましたが、リモートに追加したいのは、app,config,docs,features,lib,script,spec,tasksフォルダとgimfileなどの14のファイルなので、これも該当しないように思われます。

    キャンセル

  • 2017/02/17 20:53

    git pullしてみてください。

    キャンセル

  • 2017/02/17 21:01

    git pullしました!

    キャンセル

  • 2017/02/17 21:02

    再度 git add .してください

    キャンセル

  • 2017/02/17 21:10 編集

    例えばリモートでフォルダを消したあと、ローカルでgit pullすると先程消したフォルダは、ローカルから消えますか?

    キャンセル

  • 2017/02/17 21:13

    消えます。リモートでフォルダ削除したのですか?

    キャンセル

  • 2017/02/17 21:15

    していませんが、gitの認識の確認をさせて頂きました。
    もう一つ質問させてください。ローカルで作業をしてgit pullした場合、作業ファイルはリモートのファイルの状態に変更されますか?それとも作業ファイルはpullしても更新されませんか?

    キャンセル

  • 2017/02/18 12:19

    解決しました!
    本番前に開発のときに使っていたアプリフォルダから、
    vendor/assets/javascripts/.keep
    vendor/assets/javascripts/active_admin.js.coffee
    vendor/assets/stylesheets/.keep
    vendor/assets/stylesheets/active_admin.scss
    の4ファイルをローカルリポジトリにドラッグ&ドロップして、
    $git add vendor/assets
    $git commit -m"adminファイル追加"
    ソースツリーからリモートリポジトリにプッシュ
    テスト環境のローカルリポジトリから
    $git pull
    $rake assets:precompile
    ユニコーンの再起動
    これでテスト環境でもactive adminのcssが反映されました。
    質問文のディレクトリ以下のgit addについては、フォルダをドラッグ&ドロップでローカルリポジトリに追加することで、自動的にフォルダ以下のファイルもaddできました。
    turbgraphics200さん、何度もご回答して頂き有難うございます。

    キャンセル

  • 2017/02/18 12:20

    解決してよかったです

    キャンセル

  • 2017/02/18 12:24

    私ももっと勉強してアドバイスできる側の人間になりたいです。今回の問題が誰かのお役にたてれば幸いです。お世話になりました。

    キャンセル

0

git status で変更なしと表示されるのに、ローカルとリモートの状態が異なるという事は、
異なるブランチで比較しているか、同じブランチでもローカルとリモートのコミット履歴が異なるということになります。

比較は両者のコミット履歴のID(SourceTreeとbitbucketでいう"コミット"列)から可能です。

リモートにローカルのブランチをプッシュすれば同期されるはずだと思いますが、いかがでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/16 19:40

    今は一人で開発しているので、ローカルのマスターブランチは消してます。ローカルの作業ブランチから、リモートのテストブランチにプッシュして、リモートのテストブランチをマスターブランチにマージする体制をとっております。コミット履歴の確認は黒い画面のコマンドで確認するような感じでしょうか?

    キャンセル

  • 2017/02/17 20:52

    コマンドでも勿論確認可能ですが、ローカルリポジトリの確認はsourcetreeで可能です。ブランチを選択すると出てくる樹系図っぽい画面のことです。
    bitbucketではwebサイトのリポジトリ画面左の"コミット"リンクから見れると思います。

    キャンセル

  • 2017/02/17 21:06

    コミットの履歴に見しらぬ海外の方が複数いるのですが、bitbucketで公開していないファイルなので問題ないと思われますが、なぜこの人達が出現しているかおわかりでしょうか?

    キャンセル

  • 2017/02/17 21:08

    話がそれてしまい失礼しました。見くらべた結果、差分に関して確認できませんでした。

    キャンセル

同じタグがついた質問を見る

  • MacOS(OSX)

    2299questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Git

    1599questions

    Gitはオープンソースの分散バージョン管理システム(DVCS)です。

  • GitHub

    1006questions

    GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

  • BitBucket

    199questions

    BitBucketは無料のリポジトリ管理ホスティングサービスです。 MercurialとGitのVCSに対応しています。プライベートリポジトリを、制限なく作成することが可能です。

  • SourceTree

    173questions

    SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。