タグ付けされた質問 「git」

Gitは、オープンソースの分散バージョン管理システム(DVCS)です。このタグは、Gitの使用法とワークフローに関連する質問に使用します。単にリポジトリがGitHubでホストされているからといって、Git関連の問題には[github]タグを使用しないでください。また、Gitリポジトリが関係する一般的なプログラミングの質問には、このタグを使用しないでください。

12
Cocoapodsセットアップが端末のポッドセットアップコマンドでスタックする
MacBook-Pro:~ skbc$ pod setup --verbose /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:212: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777 Setting up CocoaPods master repo Cloning spec repo `master` from `https://github.com/CocoaPods/Specs.git` (branch `master`) $ /usr/bin/git clone 'https://github.com/CocoaPods/Specs.git' master Cloning into 'master'... Cocoapods Webサイト、SO、およびいくつかのビデオチュートリアルによって提供されるリソースを確認しました。数時間待っても何も起こらないが、それでも何が問題であるかを理解しようとしているのか?コメントや提案をいただければ幸いです。ありがとうございました!!!
113 ios  ruby  git  xcode5  cocoapods 

22
Visual Studio 2013でGit統合を完全に無効にするにはどうすればよいですか?
Tools / Optionsダイアログを使用してgit統合を無効にできることを知っていますが、この設定がセッション間で持続していないようです。つまり、ソリューションを閉じて再度開くとすぐに、Git統合が再び有効になります。Visual Studioがソリューションファイルシステムツリーに.gitフォルダーを表示していると思います。 Gitプラグインが有効になっている場合に正しく動作しないさまざまなVisual Studio 2013プラグインがあり、コマンドラインでソース管理を管理することを好み、Git統合により顕著な遅延が発生するいくつかの非常に大規模なプロジェクトで作業していますソリューションを開き、使用する際に。使用しない、または必要としないため、完全にオフにしたいのですが。これは可能ですか?

12
--filter =:Cのような.gitignore&.hgignore&svn:ignoreに従ってrsync exclude
Rsyncには、--cvs-exclude「CVSと同じようにファイルを無視する」ための気の利いたオプションが含まれていますが、CVSは何年も使われていません。最新のバージョン管理システム(Git、Mercurial、Subversion)で無視されるファイルも除外する方法はありますか? たとえば、GitHubから多数のMavenプロジェクトをチェックアウトしています。通常、これらには.gitignore少なくともリストtarget、デフォルトのMavenビルドディレクトリ(トップレベルまたはサブモジュールに存在する場合があります)が含まれます。これらのディレクトリの内容は完全に使い捨てであり、ソースコードよりもはるかに大きくなる可能性があるため、バックアップにrsyncを使用する場合は除外します。 もちろん、私は明示的にできます--exclude=target/が、たまたま名前が付けられtarget、無視されるべきではない無関係なディレクトリを誤って抑制します。 そして、私はいずれかに記載のすべてのファイル名とパターンのための絶対パスの完全なリストを提供することができ.gitignore、.hgignoreまたはsvn:ignore私のディスクのプロパティが、これは、スクリプトのいくつかの並べ替えによって生成しなければならないであろう膨大なリストになります。 rsyncにはCVS以外のVCSチェックアウトのサポートが組み込まれていないので、無視パターンをフィードするための良いトリックはありますか?または、特定のファイル/ディレクトリを含めるかどうかをユーザースクリプトに尋ねることができる、ある種のコールバックシステムですか? 更新:--filter=':- .gitignore'LordJavacで提案されているように--filter=:C、少なくとも私が見つけた例では、GitでもCVSと同じように機能するようですが、構文が完全に一致するかどうかは不明です。--filter=':- .hgignore'Mercurialではうまく機能しません。たとえば、(GitのMercurial相当).hgignoreなどの行を含むは、rsyncによって正規表現として認識されません。そして、Subversionの場合は何も機能しないようです。そのため、1.6以前の作業コピーを解析し、1.7以降の作業コピーに困惑して手を投げる必要があります。^target$/target/.svn/dir-prop-base
113 git  svn  mercurial  rsync 

5
変更のタイプでgit diffをフィルタリングする
git diff変更されたファイルに制限する方法はありますか? 2つのコミットの違いを見たいのですが、どちらか一方に存在しないパス(追加/削除)は除外します。次のPerlワンライナーは、私が欲しいもののほとんどを示しています。 git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/' しかし、diff --git a/path b/pathそれによって、新規または削除されたファイルの行が残ります。加えて、パースする必要がなかった方がずっといいでしょう(たとえば、ハンクに/ ^ diff /と一致するものが含まれていると失敗します)。 私が試した別の選択肢は: git diff --name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) -- その出力はより良いですが、それでもハックに感じられます。
113 git  diff 

3
なぜオリジンにプッシュしようとすると、Gitは「そのようなリモートの 'オリジン'はありません」と通知するのですか?
私はGitに非常に慣れていません。最近、GitHubアカウントを作成しました。 最初のリポジトリ(サンプルプロジェクト)をプッシュしようとしましたが、次のエラーが発生します。 No such remote 'origin' 次のコマンドを実行しました。 git init git commit -m "first commit" git remote add origin https://github.com/VijayNew/NewExample.git git push -u origin master しかし、git commit -m "first commit"を実行すると、次のメッセージが表示されました。 nothing added to commit but untracked files present (use "git add" to track) それで、私はをorigin使って設定しようとしました git remote set-url origin https://github.com/VijayNew/NewExample.git しかし、私は次のエラーを受け取りました: No …
113 git  github  push  git-remote 

20
Gitは新しいサブモジュールを初期化/同期/更新しません
これが私の.gitmodulesファイルの内容の一部です: [submodule "src/static_management"] path = src/static_management url = git://github.com/eykd/django-static-management.git [submodule "external/pyfacebook"] path = external/pyfacebook url = http://github.com/sciyoshi/pyfacebook.git ただし、.git/config最初のものだけが含まれます。 [submodule "src/static_management"] url = git://github.com/eykd/django-static-management.git 2番目のサブモジュール(external/pyfacebook)は、機能ブランチの別の開発者によって追加されました。私は現在開発を継承しており、機能ブランチをチェックアウトしました。ただし、Gitはサブモジュールをプルしません。私はもう試した: git submodule init git submodule update git submodule update --init git submodule sync からすべてのサブモジュール定義を削除し.git/configて実行しgit submodule initます。以前に存在していたサブモジュールのみをコピーし、新しいサブモジュールは無視します。 新しいサブモジュール定義を.git/config手動で入力して実行しgit submodule updateます。以前に存在していたサブモジュールのみが、更新する必要がありません。 さまざまな組み合わせで使用できますが、git .git/configはの新しいコンテンツに基づいて更新されず.gitmodules、external/pyfacebookフォルダを作成してサブモジュールのコンテンツをプルしません。 何が欠けていますか?手動による介入(サブモジュールエントリを手動でに追加する.git/config)は本当に必要ですか、なぜですか? 編集:手動介入は機能しません。新しいサブモジュールエントリを手動で追加し.git/configても何も起こりません。新しいサブモジュールは無視されます。


3
別のユーザーとしてコードをどのようにコミットしますか?
スクリプトでこれを実行できるようにしたいと思います。私は基本的にGitの一部のコードのバージョン履歴全体を再作成しています-現在、別のバージョン管理システムを使用しています。コミットの元の作成者(および日付)を保持しながら、Gitへのコミットを追加できるスクリプトが必要です。 コミットの作成者と変更が行われた日時がわかっているとすれば、これを可能にするGitコマンドはありますか?git-p4が同じようなことをするので、私はそこにあると思います。私はそれを行うための最良の方法を求めています。
112 git  command-line  commit 


2
私のプルリクエストはマージされました、次に何をすべきですか?
最近、GitHubのプロジェクトに参加しました。私は次のことをしました: 元のリポジトリをフォークし、それをローカルマシンに複製し、既存のバグを修正するためにブランチを作成し、そのブランチにあるバグを修正し、そのブランチをリポジトリにプッシュし、リポジトリの作成者にプルリクエストを送信して私の修正ブランチをマージしましたそのマスターブランチ。 私が他の人のコードにコミットしたのは初めてだったので、どうすればいいのかわかりません。これで、私のプルリクエストが作成者によって元のリポジトリ/プロジェクトにマージされました。 次に何をすればいいですか?ブランチを削除する必要がありますか?ブランチをマージする必要がありますか?他に何か? 追加情報: 元のプロジェクトには単一のブランチがあります。 また、元のリポジトリから最新の更新を取得するためのアップストリームセットもあります。(私はこのようにしました): git remote add upstream https://path/to/original/repo.git そして、私はこのような更新を取得します: git fetch upstream
112 git  github 

5
gitからのプル中にエラーが発生しました-オブジェクトをリポジトリデータベース.git / objectsに追加するための十分な権限がありません
"git pull origin origin"を実行するたびに、「リポジトリデータベース.git / objectsにオブジェクトを追加するための十分な権限がありません」というgitエラーが発生します。 remote: Counting objects: 70, done. remote: Compressing objects: 100% (7/7), done. remote: Total 42 (delta 35), reused 42 (delta 35) error: insufficient permission for adding an object to repository database .git/objects fatal: failed to write object fatal: unpack-objects failed
112 git 

2
単一ファイルのマージをやり直す
私は大規模なマージの最中です。以前はgit mergetoolすべての競合を解決してきましたが、マージが最初に問題がないことを確認したかったため、まだコミットしていません。 1つのファイルの競合を解決しているときに間違いを犯したことがわかりましたgit mergetool。そのファイルでの競合解決をやり直したいと思います。これは大きなマージなので、他のすべてのファイルでマージをやり直さないようにしたいと思いますgit merge --abort。 ファイルを手動で編集できることはわかっていますが、これはかなり退屈で、git mergetool操作をやり直すだけの方がはるかに簡単です。これは可能ですか?
112 git  merge 

18
gitがターミナルから間違ったユーザーでプッシュする
gitと私の端末に問題があります。 ここに私の問題を表示するギャラリーがあります:http : //imgur.com/a/6RrEY 端末からコミットをプッシュすると、gitは別のユーザー名でそれらをプッシュすると言います。これはコミットのない私の組織(私の会社)のユーザーであり、誰にも属していないようです:(ギャラリーの最初の写真を確認してください) しかし、Github for macを使用している場合、これは起こりません。フィードで自分がコミットをプッシュしたのがわかります。 この問題は私の個人リポジトリにも影響します。私の端末では、このユーザーでプッシュしようとするため、それらのリポジトリに対するコミットをプッシュする権限がない(これは明らかに間違っています)と表示されます:(ギャラリーの2番目の写真を確認してください) 何だと思う ?これはMacのGithubでも起こりません。 数日前にコンピューターを新しいものに変更したので、githubのすべてのsshキーをリセットし、Github for Macによって生成された新しいものだけを残したため、ゴーストユーザー/ sshキーが隠されているとは思わないどこかで、このHDDは真新しいです:(ギャラリーの3番目の写真を確認してください) 私の.gitconfigファイルはすべてクリアですが、私の資格情報しかありません:(ギャラリーの4番目の写真を確認してください) StackOverflow、私は本当にそれを手に入れません、あなたは私の唯一の希望です。 (私の悪いGimpスキルとスターウォーズのリファレンスに対する私の謝罪) 編集: ssh-add -l Mac用のGitHubによって作成された適切なSSHキーのみを表示し、GitHubアカウントを1つだけ持っています EDIT2: ssh -T git@github.com私を善良なユーザーとして認識します。 EDIT3:いくつかのテストの後、私の端末は私のユーザー名でコミットを行うようですが、Github for macがコミットして適切なユーザー名でプッシュします。この状況は、私が持っている/作成するすべてのリポジトリで発生しますもの)。 EDIT4:個人リポジトリでgit log --pretty="%h %an %ae"は、私の良いユーザー名が表示されます EDIT5:私の資格情報を上書きする環境変数の兆候はありませんenv。これらの変数を適切な資格情報で設定しようとしても、問題は解決しません。 EDIT6:/.git/configリポジトリのパスにユーザーを強制すると、正常に機能しますが、それは良いオプションではないと思います:http://USER@github.com/USER/REPO.git EDIT7:コミットをプッシュしたgitユーザーを削除したため、別のエラーが発生しました。remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/' 最終編集:自作のgitをインストールして入力する git config --global …
112 git  github  ssh 

3
Gitブランチを閉じる方法は?
だから私はGit + GitHubを使い始めています。 私たちの小さな分散チームでは、各メンバーが、割り当てられた課題/要件ごとに独自のブランチを作成しています。 git branch Issue#1 <-- create this branch git checkout issue#1 <-- switch over to this branch 今code code、commit、code、commit、等... そしてpull request、code-fixup、commit、code、commit...など そして最後に...プルリクエストが受け付けられます。 ウット。 しかし..今何ですか?(......ぎこちない......) ローカルの開発マシンでブランチを作成した人はブランチを閉じる必要がありますか?開発者がブランチ `(... -D ...)を削除してからマスターのプル/リフレッシュを実行するよう提案されました。これにより、すべてのブランチコードが取得されます。 うーん...わからない-助けてください:)
112 git  github 

4
「git rebase --continue」を忘れて「git commit」しました。直し方?
私はgitでコードをリベースしていましたが、マージの競合が発生しました。私は衝突を解決しました: git add この時点で、忘れていました。 git rebase --continue 私はコーディングを続け、次のことを行いました: git commit 変更のため。今私はオンになってい"no branch"てできません: git rebase --continue どうすれば修正できますか?
112 git 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.