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

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

4
ファイルを無視しているgitignoreルールを説明する
gitによって一部のファイルが無視されている理由を確認する方法はありますか(つまり、.gitignoreファイル内のどのルールがファイルを無視しているのか)。 私がこれを持っていると想像してください(または、数百のフォルダと数十の.gitignoreファイルを含むはるかに複雑なシナリオ: / -.gitignore -folder/ -.gitignore -subfolder/ -.gitignore -file.txt 私がgit add folder/subfolder/file.txtgit を実行すると、無視されたと文句を言うかもしれません: The following paths are ignored by one of your .gitignore files: folder/subfolder/file.txt Use -f if you really want to add them. .gitignoreこのファイルを無視するルールがあり、ルールを表示する方法はありますか?お気に入り: The following paths are ignored by your folder/.gitignore file (line 12: *.txt) folder/subfolder/file.txt Use -f …
310 git  gitignore 

5
Gitコミットメッセージ:50/72のフォーマット
Tim Popeは彼のブログ投稿で特定のGitコミットメッセージスタイルを主張しています:http : //www.tpope.net/node/106。 これが彼が推奨することの簡単な要約です: 最初の行は50文字以下です。 次に空白行。 残りのテキストは72文字で折り返す必要があります。 彼のブログ投稿は、これらの推奨事項の根拠を示しています(簡潔にするために「50/72フォーマット」と呼びます)。 実際には、一部のツールは最初の行を件名行として扱い、2番目の段落を本文として扱います(電子メールと同様)。 git log は折り返しを処理しないため、行が長すぎると読みにくくなります。 git format-patch --stdout コミットを電子メールに変換します—うまくプレイするために、コミットが既にうまくラップされている場合に役立ちます。 ティムが同意するだろうと私が付け加えたい点: コミットを要約することは、本質的にどのバージョン管理システムでも良い習慣です。他の人(または後であなた)が関連するコミットをよりすばやく見つけるのに役立ちます。 だから、私は私の質問にいくつかの角度を持っています: Gitの「思想的リーダー」または「経験豊富なユーザー」のどの部分が(大まかに)50/72フォーマットスタイルを採用していますか?新しいユーザーがコミュニティの慣習を知らないか、気にしないので、これをお願いします。 このフォーマットを使用しない場合、別のフォーマットスタイルを使用する主な理由はありますか?(私は「私はそれを聞いたことがない」または「私は気にしない」ではなく、メリットについての議論を探していることに注意してください。) 経験的に言えば、Gitリポジトリの何パーセントがこのスタイルを採用していますか?(誰かがGitHubリポジトリで分析をしたい場合…ヒント、ヒント。) ここでの私のポイントは、50/72スタイルを推奨したり、他のスタイルを打ち倒したりすることではありません。(それについてオープンにするために、私はそれを好みますが、私は他のアイデアを受け入れます。)人々がさまざまなGitコミットメッセージスタイルを好むまたは反対する理由の根拠を取得したいだけです。(言及されていないポイントも自由にご利用ください。)
310 git 

5
サブディレクトリにサブモジュールを追加するにはどうすればよいですか?
~/.janus/たくさんのサブモジュールが入っているgitリポジトリがあります。にサブモジュールを追加したいのですが、ディレクトリで~/.janus/snipmate-snippets/snippets/実行するgit submodule add <git@github.com:...>とsnipmate-snippets、次のエラーメッセージが表示されます。 You need to run this command from the toplevel of the working tree. だから問題は:サブモジュールをsnipmate-snippetsディレクトリに追加するにはどうすればよいですか?

9
gitディレクトリにないときのgit pull
/X/Ygitリポジトリであるディレクトリがあるとします。git pull内部からのようにコマンドを呼び出すことは可能です/Xが、/X/Yディレクトリを対象としていますか? 編集:私は具体的に疑問に思っていたと思います:gitコマンドを使用してこれを行うことは可能ですが、ディレクトリを変更する必要はありませんか? 注:以前のオプションよりもはるかにエレガントであるため、VonCの回答を受け入れました。1.8.5より古いGitを実行している人は、下記のbstpierreの回答を参照してください。
308 git 

20
git:fatal:プロトコル 'http'を処理しません
ウェブページからgit cloneコマンドをコピーして貼り付けました:https : //fedorahosted.org/ibus-typing-booster/ 私はこれを得た: user@host> git clone ​​http://git.fedorahosted.org/git/ibus-typing-booster.git Cloning into 'ibus-typing-booster'... fatal: I don't handle protocol '​​http'
307 git  clone  whitespace 

1
すべてのブランチの作成者あたりのGitコミット数
すべてのブランチで作成者ごとのコミット数を取得したいと思います。私はそれを見る git shortlog -s -n 非常に優れたリストを出力しますが、他のブランチからまだマージされていないコミットはカウントされません。すべてのブランチでこのコマンドを繰り返すと、一般的なコミットが複数回カウントされることは明らかです。全体像を示すスクリプト/コマンドを教えていただけますか?

4
誤って.ideaディレクトリファイルをgitにコミットした
誤って.idea/ディレクトリをgitにコミットしました。これは、リポジトリをチェックアウトする必要がある他の場所で競合を引き起こしています。これらのファイルをリモートから削除するにはどうすればよいですか? Intellij IDEで必要なため、これらのファイルはローカルで必要です。リモコンに入れたくないだけです。ディレクトリ.idea/を自分に追加して.gitignoreコミットし、このファイルをリモートにプッシュしました。これは、他のマシンでチェックアウトしている間は効果がないようです。私はまだエラーメッセージを受け取ります: error: The following untracked working tree files would be overwritten by checkout: .idea/.name .idea/compiler.xml .idea/copyright/profiles_settings.xml .idea/encodings.xml .idea/misc.xml .idea/modules.xml .idea/scopes/scope_settings.xml .idea/uiDesigner.xml .idea/vcs.xml .idea/workspace.xml
306 git 


11
どうすればgitブランチをアーカイブできますか?
私のgitリポジトリには、現在活発に開発されていない古いブランチがあります。実行時にデフォルトで表示されないように、ブランチをアーカイブしたいと思いますgit branch -l -r。履歴を残したいので削除したくありません。これどうやってするの? refs / headsの外にrefを作成することは可能です。たとえば、refs/archive/old_branch。それを行うことの結果はありますか?
305 git 

13
Gitサブモジュールヘッドの「参照はツリーではありません」エラー
無効なコミットを指しているサブモジュールを持つプロジェクトがあります。サブモジュールのコミットはローカルのままで、別のリポジトリからフェッチしようとすると、次のようになります。 $ git submodule update fatal: reference is not a tree: 2d7cfbd09fc96c04c4c41148d44ed7778add6b43 Unable to checkout '2d7cfbd09fc96c04c4c41148d44ed7778add6b43' in submodule path 'mysubmodule' 私はサブモジュールHEADがどうあるべきかを知っています、コミットしているリポジトリからプッシュせずにこれをローカルで変更する方法はあります2d7cfbd09fc96c04c4c41148d44ed7778add6b43か? 私が明確であるかどうかはわかりません...これは私が見つけた同様の状況です。

5
修正時にgit commit authorの日付を更新する
私は自分のコミットを頻繁に修正していることに気づきました。stash特に忘れる傾向があるので、それほど多くはありません。特に、出発前または週末の前に行った作業を保存したい場合は、「ドラフト」コミットを行います。唯一のことは、私がコミットを修正するとき、それはまだオリジナルの作者の日付に設定されているということです。修正時に更新する(簡単な)方法はありますか?
305 git 

5
Gitリポジトリにファイルを保持しますが、変更は追跡しません
私はCodeIgniterサイトにいくつかのファイルを持っていますが、それらをリポジトリに入れたいのですが、変更を追跡しません。 たとえば、このフレームワークの新しいインストールを新しいクライアントに展開し、次のファイルをダウンロードして(デフォルト値はCHANGEME)、このクライアントに固有の変更(データベースの資格情報、電子メールアドレス情報、カスタムCSS)。 // the production config files i want the files but they need to be updated to specific client needs application/config/production/config.php application/config/production/database.php application/config/production/tank_auth.php // index page, defines the environment (production|development) /index.php // all of the css/js cache (keep the folder but not the contents) /assets/cache/* // production user based …
305 git 

3
機能ブランチを別の機能ブランチにリベースする
私が取り組んでいる(プライベート)機能ブランチが2つあります。 a -- b -- c <-- Master \ \ \ d -- e <-- Branch1 \ f -- g <-- Branch2 これらのブランチで作業した後、Branch1のBranch2からの変更が必要であることを発見しました。Branch2の変更をBranch1にリベースしたいのですが。最終的には次のようになります。 a -- b -- c <-- Master \ d -- e -- f -- g <-- Branch1 私は2番目のブランチを最初のブランチにリベースする必要があると確信していますが、正しい構文とどのブランチをチェックアウトする必要があるかは完全にはわかりません。 このコマンドは望ましい結果を生成しますか? (Branch1)$ git rebase --onto Branch1 Branch2

5
git-reflogに各エントリの横に日付を表​​示させる方法はありますか?
git-reflogコマンドは、デフォルトでは各エントリの横に日付を表​​示しません。これは奇妙な見落としのように私を驚かせます。これは非常に役立つと思います。 各reflogエントリが追加されたときにそれを表示させるために使用できるコマンドラインオプションやその他の微調整はありますか?マニュアルページは今後ではありません...
305 git  git-reflog  reflog 

10
Gitで最新バージョンに戻す方法は?
私は最近SVNからGitに移動し、何かについて少し混乱しています。以前のバージョンのスクリプトをデバッガーを介して実行する必要があったので、git checkout <previous version hash>必要なことを実行しました。 最新バージョンに戻したいのですが、ハッシュがわかりません。「」と入力してもgit log、表示されません。 これどうやってするの?また、「2つのバージョンに戻る」や「最新の日付に戻る」など、ハッシュを入力するよりも簡単にバージョンを変更する方法はありますか?
303 git  git-checkout 

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