0

~/Documents/Share に、私が頻繁に使用し、連携するクラスを含むフォルダーがあります。そのフォルダーを git サブモジュールに変換し、それを Xcode 5 にインポートしたいと考えています。私の考えは、その git を多くのプロジェクトで使用することです。

私は過去3時間これに苦しんでいます。私は Web で「簡単な」手順を 12 通り試しましたが、どれも機能しませんでした。

それ、どうやったら出来るの?私が望むのは、ローカル プロジェクトで動作するローカル サブモジュールを作成することだけです。

異質なエクトプラズムの説明をしないでください...私が5歳のように説明してください(以前にgitを使用したことがないため)。

はい、私はターミナルに精通しています。


提案どおりに git push を実行しようとすると、次のエラーが表示されます。

Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 292 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error: 
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error: 
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
4

1 に答える 1

5

ローカル サブモジュールで機能するかどうか、またどのように機能するかはわかりませんが、bitbucket アカウントで同様のことを行います。

フォルダーを git リポジトリに変換するには、すべてのファイルをコミットしてサーバーにプッシュします。

cd yourdirectory
git init (1)
git add . (2)
git commit -m "this is my commit message" (3)
git remote add origin <adress-of-your-remote-git-repository> (4)
git push (5)
  1. ディレクトリをローカル git リポジトリに変換します。
  2. ディレクトリ内のすべてのファイルを git ステージングにステージングします。
  3. ステージングされたファイルをコミットします。
  4. リモート オリジンをローカル リポジトリに追加します。
  5. ローカル リポジトリをリモート参照にプッシュします。

これで、すべてのファイルを含むリモート リポジトリが作成されました。任意の git 対応プロジェクトでサブモジュールとして使用するには:

cd yourprojectdirectory
git submodule add <adress-of-your-remote-git-repository> (1)
git submodule update --init --recursive (2)
  1. リモート リポジトリを新しい git サブモジュールとして追加します。
  2. 実際のコンテンツが含まれるようにサブモジュールを初期化します。

あとは、追加されたサブモジュールのフォルダーをファインダーで開き、そのフォルダーを Xcode プロジェクトにドラッグするだけです。

ローカル プロジェクトで行われた変更でファイルを更新するには、プロジェクトで変更を行い、次の操作を行います。

cd yourprojectdirectory/yoursubmoduledirectory
git add changedfile.m
git commit -m "your commit message"
git push

もちろん、これらの変更を他のプロジェクトに同期する必要があります。

cd yourotherprojectdirectory/yoursubmoduledirectory
git pull
于 2013-10-20T13:57:02.630 に答える