2017-05-31 13 views
0

GoogleドライブでGit Repoを使用していることはお勧めできません。ただし、Gitのレポ(GitHubやBitbucketでホストされている)をGoogleドライブにクローンすることはできますか?同じ問題がありますか?Googleドライブにgit repoをクローンします

私のシナリオは複数のコンピュータの使用に関連しています。私は仕事場でコンピューター1のレポをチェックし、フィーチャーAで作業していますが、フィーチャーAを完了する前に作業を終了する必要があります。今では、変更が完了していないので、リモートのレポに変更する必要はありませんが、私はコンピュータ2(自宅)で作業したいと思います。クローンがGoogleドライブにある場合は、機能Aが完了したときに中断した箇所を選択してプッシュすることができます。

Googleドライブのクローンは、Googleドライブのレポと同じ問題がありますか?

編集:私が言ったはずのことは、私がGoogleドライブでクローンを持っていることが好きなのは、クローンが1つしかないので、コンピュータを切り替えるときに押したり引っ張ったりする心配はありません。

+0

今日の問題を解決するために、[バージョンコントロールシステム](https://en.wikipedia.org/wiki/Version_control)が発明されました(40年以上前)。同じ人、それは本当に問題ではない)。あなたが今質問するのは、VCSが提供するすべての機能を無視して手動で(VCS以前のように)すべてを処理する方が良い場合です。ブランチは必要なものだけで、Gitはそれらを扱う際に優れています。 [Gitブランチについて](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell)を読んでください。 – axiac

+0

同じ問題が発生します。 **ファイル/フォルダ同期メカニズムとDVCSリポジトリを混在させないでください**。 –

+0

あなたの質問に対する解決策は、ブランチを使用することです。あなたが作業を進めるためのブランチを作成します。これは実行する必要はなく、ビルドする必要はなく、完全なコードである必要はありません。あなたが家に帰ったときに最後のコミット時に "続行"したい場合は 'git commit --amend'を実行してください。これは*あなたのブランチなので、他の誰かが、その上のコミットを、その他のコンピュータからの更新されたコミットに置き換えるかどうか気にする必要はありません。 –

答えて

2

あなたは言った:

を今、私はそれが終了していないと、リモートリポジトリに自分の変更をプッシュする必要はありませんが、私は(自宅で)コンピュータ2上でそれに仕事をしたいです。

GitリポジトリとしてGoogleドライブを使用しているようなエキゾチックなものは含まれていないため、さまざまな解決策があります。

1つのオプションは、未完成の仕事をあなたの通常のGitリポジトリ(GitHub、Bitbucketなど)にコミットしてプッシュすることです。その後、自宅でその枝を引く機能を完了し、HEADコミット修正:私たちはブランチの歴史を書き換えているので、押圧力

git commit ---amend 'finished the feature at home' 
git push --force origin yourBranch 

注意が必要です。

しかし、このブランチが公開されている場合、このオプションはあまりうまくいかないかもしれません。その場合、あなたの一時的なコミットは他の人の仕事によって埋もれる可能性があります。これを回避するには、未完成の作業を含む2番目のブランチを作成するだけです。次に、この2番目のブランチを家に持ち帰り、作業を終えて、マージまたはリベースを介してメインブランチに持ち込みます。

Gitの強みの1つは、分散環境でうまく機能することです。 Gitがあなたのために何をしているのかを見てみるべきです。

関連する問題