1

私はバイオインフォマティシャンであり、私のプロジェクトに取り組んでいるのは私だけです。また、すべてのコード/スクリプトは、クラスター ノード (SFTP 経由で接続し、SMB 経由でマウントできる) にアクセスできるストレージ スペースに保存する必要があります。主に次の目的で git リポジトリをセットアップすることに興味があります。

a) keep track of changes
b) cloning repositories to work locally and push later to origin/remote repo

sourceTreeを使用してリポジトリを管理したいと考えています。これを確立するには、次の 2 つの方法が考えられます。

1) SMB を使用してストレージ スペースをマウントし、アクセスします。bare remote repositoryこれにより、たとえばアンダーをセットアップすることができ、たとえばsourceTree を使用して$HOME/Git、この空のリポジトリを実際の作業フォルダーにクローンできます。$HOME/projectsローカルで作業するようなものだと思います(リモートストレージスペースをマウントしたら)。これで、ファイルを追加し、コミットしてオリジンにプッシュできます ($HOME/Git 内)。その場合、職場と自宅の両方からの主なワークフローは、$HOME/projectsフォルダの下にある複製されたリポジトリで作業することです。しばらくオフラインになることがわかっていて、それに取り組みたい場合は、ラップトップにクローンを作成して、この期間中にローカルで作業し、後でプッシュすることができます。

non-bare2) の下に git リポジトリを直接セットアップします$HOME/projects。次に、職場と自宅の両方のコンピューターで SSH メソッドを使用してローカル リポジトリを作成し、毎回プッシュすることを忘れないでください。リモート リポジトリをチェックアウトして別のブランチを作成し、この投稿で概説されてgit push error '[remote rejected] master -> master (branch is currently checked out)'いるようにローカル リポジトリから master にプッシュするという問題を回避する必要があります。

より良い代替手段はありますか?(または) どれをお勧めしますか?

事前にどうもありがとうございました!

4

1 に答える 1

4

むき出しのリポジトリにプッシュしないでください。問題が発生しています。プッシュおよびプルするすべての場所からアクセスできる中央リポジトリをセットアップします。したがって、最初の方法を使用してください。

そして、あなたが git の初心者である場合は、コマンド ライン クライアントを使用することを強くお勧めします。そうすれば、何が起こっているのかを正しく学び、git を理解することができます。

于 2012-12-18T09:52:37.270 に答える