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

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

新規登録して質問してみよう
ただいま回答率
85.51%
SourceTree

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

Git

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

MacOS(OSX)

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

GitHub

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

BitBucket

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

Q&A

解決済

2回答

3043閲覧

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

nk117

総合スコア31

SourceTree

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

Git

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

MacOS(OSX)

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

GitHub

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

BitBucket

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

0グッド

0クリップ

投稿2017/02/16 02:52

mac osx
git
bitbucket
sourcetree

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

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

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

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

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

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

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

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

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

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

投稿2017/02/16 04:26

skitoy4321

総合スコア229

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nk117

2017/02/16 10:40

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

2017/02/17 11:52

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

2017/02/17 12:06

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

2017/02/17 12:08

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

0

ベストアンサー

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

投稿2017/02/16 03:07

編集2017/02/16 03:08
turbgraphics200

総合スコア4267

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nk117

2017/02/16 11:03

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

2017/02/17 00: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とはなっていません。
turbgraphics200

2017/02/17 01:32

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

2017/02/17 01:37

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

2017/02/17 01:39

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

2017/02/17 02:20

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

2017/02/17 02:35

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

2017/02/17 09:55

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

2017/02/17 09:57

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

2017/02/17 10:10

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

2017/02/17 10:27

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

2017/02/17 10:29

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

2017/02/17 10:34

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

2017/02/17 10:36

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

2017/02/17 10:49

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

2017/02/17 10:51

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

2017/02/17 11:03

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

2017/02/17 11:08

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

2017/02/17 11:25

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

2017/02/17 11:41

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

2017/02/17 11: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のファイルなので、これも該当しないように思われます。
nk117

2017/02/17 12:01

git pullしました!
nk117

2017/02/17 12:13 編集

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

2017/02/17 12:13

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

2017/02/17 12:15

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

2017/02/18 03: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さん、何度もご回答して頂き有難うございます。
nk117

2017/02/18 03:24

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問