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

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

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

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

BitBucket

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

Q&A

解決済

2回答

5987閲覧

gitで作業中のファイルを直接リモートリポジトリにcommitできませんか?

l---1cm---l

総合スコア13

Git

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

BitBucket

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

1グッド

0クリップ

投稿2017/05/21 14:57

個人でアプリケーションの開発をしている者ですが、最近バージョン管理システムに興味をもちました。
中でもgitは、
作業ディレクトリ -(add)-> ステージングエリア -(commit)-> ローカルリポジトリ -(push)-> リモートリポジトリ
の流れで変更を管理していると学びました。しかし、私はひとりで開発しているので、
作業ディレクトリ -(add)-> ステージングエリア -(commit?)-> リモートリポジトリ
のように、ローカルリポジトリを作らずに、直接リモートリポジトリにcommitできたらなあと思っているのですが、それは可能でしょうか。
そもそもバージョン管理の目的を誤解していたら恐縮ですが、その場合はご指摘いただけたら嬉しいです。

より具体的には、下の画像のように、作業中のファイルはDropboxで共有しながら、ある程度の単位でリモートリポジトリ(Bitbucketなどのサービスを利用)にcommitし、バージョンを戻したくなったらcheckoutするような構成を考えています。
Dropbox上にローカルリポジトリを作ると、あまり使わないくせに容量を食うので、ローカルリポジトリは要らないんじゃないかと考えたのがきかっけです。
イメージ説明

退会済みユーザー👍を押しています

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

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

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

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

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

guest

回答2

0

こんにちは。

ローカルリポジトリを作らずに、直接リモートリポジトリにcommitできたらなあと思っているのですが、それは可能でしょうか。

私もonokaitoさんが言われるのと同じく、それは現実的ではないように感じます。
ローカル・リボジトリが要らない理由が容量だけの問題でしたら気にしない方が良いです。
ビルドして生成されるバイナリはリポジトリには登録しないのが一般的ですのて、リポジトリはそんなに肥大化しません。一人で開発できるソースの量は高が知れていますから、せいぜい数MBytes~十数MBytes程度ではないでしょうか? 写真数枚程度の容量です。

プッシュする手間を省きたいのが理由でしたら、GitではなくSVNを使うことも検討されると良いと思います。
SVNはローカル・リポジトリが存在しませんので。(でも、Gitに慣れたら戻る気はしないですけどね。)

そもそも共有しないのであればリモート・リポジトリは不要ですから、普通にローカル・リポジトリで管理して必要ならDropBoxへバックアップすれば十分ではないでしょうか?


ちなみにpullはバージョンを戻す機能ではありません。これは誰か他の人がリモート・リポジトリに対してプッシュした内容を自分のローカル・リポジトリへ取り込むための機能です。
バージョンを戻す時は、ローカル・リポジトリからチェックアウトします。

投稿2017/05/21 15:44

Chironian

総合スコア23272

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

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

l---1cm---l

2017/05/22 12:44

ご回答ありがとうございました。なるほど、やはりそうですよね。 SVNも検討しましたが、Gitの方が情報が豊富ということもあり、Gitでできればと思った次第です。 多くの方はSVNよりGitの方が使いやすいと感じておられるんですね。 pullについてのご指摘もありがとうございました。おかげさまでgitへの理解が深まりました。
Chironian

2017/05/22 13:35

SVNの方が使い方が簡単なので、バージョン管理システム初心者の場合はSVNの方が良い場合もそこそこあると思います。 Gitは非常に強力ですが、その分難しいのも事実です。 でも、慣れたら手放せません。まだまだ使いこなせていない機能も多数あるのですが、それでも非常に有用です。
guest

0

ベストアンサー

gitは差分管理システムなので、そもそもリモートリポジトリは必要なかったりします。
殆どの場合他の人と共有するために使いますからね。
その代わり作業するためのローカルリポジトリは絶対に必要です。そもそもプッシュというのはローカルの変更をリモートに伝えるためにあります。
さらに、「コミットをする(変更部分を抽出する)」ためにはローカルリポジトリがなくては、gitコマンドは見るものがなく困ってしまいます。

長々と語ってしまいましたが、単純に言うと「無理」ということになると思います。(もしできたらごめんなさい…)

ローカルリポジトリというのは、そもそも作業をする場所のことです。なのでその容量を抑えようとするのは名案ですがやはり無理ですね…。

逆に、質問者さんがしたいことを実行できるのが「リモートリポジトリ」です。リモートリポジトリは「ローカルリポジトリ」を共有するためにあります。なのでDropboxをつかわなくとも既に今の環境で作業はできちゃうんです!
リモートリポジトリにコミットをプッシュさせていけばどこからでも変更が見れますしもちろんローカルリポジトリを更新できます。これが本来のgitの使い方だと思います。

投稿2017/05/21 15:21

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

l---1cm---l

2017/05/22 12:36

ありがとうございました。やはりリモートリポジトリは他人との共有のためにあるんですね。 薄々gitの役割を勘違いしていたような気がしていましたが、おかげさまですっきりしました。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2017/05/22 13:30

お役に立ててよかったです。がんばってください!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問