2

XCode 4.5.1 で自分のプロジェクトのスナップショットを作成できました。しかし今、同じプロジェクトが私に次のことを伝え続けています。

Unable to create a snapshot
error: Malformed value for push.default: simple
error: Must be one of nothing, matching, tracking or current.
fatal: bad config file line 21 in /Users/oppih/.gitconfig

今日、以前に別のプロジェクトを github にプッシュしたときに、次の警告が表示されたことを覚えています。

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

だから私はそれをグーグルで検索し、この質問を見つけました13148066、そしてそれを解決しました。git config --global push.default simple「これはより直感的な動作であるため、デフォルトがこれに変更されている理由です。」

XCode に関する私の問題は、この git オプションの更新に関連しているに違いないと思います。

XCode に戻ると、XCode プロジェクトで git リポジトリをセットアップすることを選択しませんでしたが、コードをバックアップする方法としてスナップショットを使用しました。XCode のスナップショットに git のトリックがあると思いますが、わかりません。XCodeでスナップショットを再度有効にする方法を誰かに教えてもらえないでしょうか(.gitconfig [push.default]オプションを変更しないでください)?

4

2 に答える 2

3

私は自分の問題を解決することができました。関連する詳細については、質問 10449374を参照してください。

この場合の主な問題は、Xcode が (コマンド ライン ツールと共に) 独自のバージョンの git を /Applications/Xcode.app/Contents/Developer/usr/bin にインストールすることです。

そしてどういうわけか、Xcode は独自のバージョンのツール (git など) を使用するようにハード コーディングされていました。そして (理由はわかりませんが) Xcode の「スナップショット」機能には、git との統合があります。

だから私が:

  1. homebrew 経由で git の新しいバージョンをインストールし、
  2. ~/.gitconfig の新しい push.default オプションを更新します。
  3. Xcode プロジェクトでスナップショットを作成したい

次に、上記の問題に遭遇します。

これが私の解決策です:

  1. Xcode ディレクトリに移動します。

    cd /Applications/Xcode.app/Contents/Developer/usr/bin

  2. Xcode の git の名前を次のように変更します。

    sudo mv ./git ./git-xcode-usr-bin

  3. 自作でインストールした自分の git をリンクします。

    sudo ln -s /usr/local/bin/git ./git

そして、私は同じことをしました/usr/bin/git

sudo mv /usr/bin/git /usr/bin/git-xcode-usr-bin
sudo ln -s /usr/local/bin/git /usr/bin/git

これは実際にリンク/usr/local/Cellar/git/1.8.0/bin/gitします(現在git 1.8.0を使用しているため)

少しトリッキーです。将来、自作の git をアップグレードする場合は、リンクを更新する必要があります。そして、Xcode のスナップショットと新しい push.default オプションで問題なく動作します。

于 2012-11-13T15:06:19.020 に答える
1

さて、あなたはこの答えで提供される方法によってXcodeのために別の.gitconfigファイルを指定することを試みるかもしれません:どうすればカスタムグローバルgitconfigパスを指定できますか?

たとえば、Xcodeアプリの新しい$ HOMEとして〜/ .xcode_homeを作成した後、次のシェルスクリプトを使用してXcodeを起動できます。

HOME=$HOME/.xcode_home open "$(xcode-select --print-path)/../.."

しかし、それは完全にユーザーフレンドリーではありません…とにかく、あなたはこれをチェックしたいかもしれません:OS Xで環境変数を設定しますか?。ただし、$HOMEをグローバルに上書きすることはお勧めできません。

于 2012-11-11T14:45:46.383 に答える