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

Gitバージョン管理システムのEmacs拡張機能です。

2
MagitはWindowsで非常に遅くなります。最適化する方法
プロジェクトにWindows 10を使用せざるを得ません。はい、むしろGNU / Linuxを使用します。私の正気を保つために、私はWindowsをEmacsのブートローダーと見なそうとしました:) 残念ながら、Magit(Windowsでのコマンドラインの不足を補うEmacsの私のお気に入りの部分の1つ)は、耐えられないほど遅いです。SSD、16 GBのRAM、クアッドコアi7がありますが、小さなリポジトリで実行するには8秒かかりmagit-statusます。その後、別の変更をステージングする場合、ファイルごとに約5秒かかります。 私が試したものは次のとおりです。 $ git config --global core.preloadindex true $ git config --global core.fscache true $ git config --global gc.auto 256 プロジェクト全体をWindows Defender(私の唯一のAV)除外リストに追加する magit-git-executableを、ダウンロードした通常のmsysgitに設定します(https://git-for-windows.github.io/)。私はチェックしgit statusましたが、ここでは1秒未満かかります。私はそれmagit-statusがより多くの方法を行うことを知っているが、これは多すぎる。 誰もこれを速くする方法を提案できますか?このようにWindowsでMagitを使用している人は誰もいません。 この質問は重複していることが示唆されましたが、彼らは尋ねました: UbuntuでのEmacsの起動時間がWindowsよりも著しく短い理由を理解するのに苦労しています。誰もが答えを知っていますか? Emacs、Git、およびMagitがWindowsで遅い理由を少なくともいくつか知っています。Magitを最適化して、機能を犠牲にしている場合でも、より少ないことを実行したり、結果などをキャッシュしたりする方法を尋ねています。

2
最も基本的な追加、コミット、プッシュにmagitを使用する
通常、変更をリポジトリにコミットするたびに、いくつかのgitコマンドのみを使用します。 $ git add --all . $ git commit -m "update." $ git push -u origin master この点でmagitは有用ですか?M-x magit-status役立つようですが、「ステージング/アンステージング」「ハンク」などの言語をref1 ref2 ref3から十分に理解していません。 の同等のコマンドはmagit何ですか?前もって感謝します - 編集このページは自分のレベルに合っているように見えますがC-u s、同等のものgit add --all .ですか?そのページでは機能しないと書かれていますが。
15 magit 

2
magitから複数のgitリポジトリを管理します
magitを使用していくつかのgitリポジトリを管理していますが、その数は増え続けています。これらのすべてのプロジェクトをmagitに通知して、1つのコマンドで各プロジェクトを手動で実行magit-statusするのではなく、各プロジェクトのステータスの概要を表示する方法はありますか?
14 magit 

2
Git:選択した領域をファイルバッファーから直接ステージングすることは可能ですか?
Magitを使用すると、magitステータスバッファーを開き、を押しTABてdiffを展開(またはRET別のdiffバッファーを表示)し、ハンクの一部にマークを付け、sまたはuを押して領域をステージング/ステージング解除できます。すごくいい。 私はそれが可能かどうか知りたい: ファイルを編集する ファイルバッファー内の領域、ハンク、またはいくつかのハンクを選択します 選択した領域またはハンクポイントのステージング/ステージング解除
14 magit  git 

2
Magitプッシュ/プルショーの進行状況
プッシュ/プルの進行状況を視覚的に示すことができません。適切なコマンドを実行した後、magit印刷します domain.tld:repo.gitへのプッシュ ただし、それ以上の進行状況の表示はありません。ネットワーク接続が遅い場合、または送信するデータが大きい場合、プロセスにはかなり時間がかかるmagit可能性があるため、進行状況を示すことができれば便利です。 当然、*magit-process*バッファにはgit独自の進行状況が含まれていますmagitが、関連する部分をエコーエリアに渡すように指示するにはどうすればよいですか? さらに良いのは、進行状況インジケータがモードラインに追加され、ユーザーがmagit-statusバッファを閉じgitて、重い物を持ち上げている間も作業を続行できるようにすることです。 編集:私は適応症を探していないよmagit/押し引っ張っているが、私はちょうど打つのでことを知っていますP/ F。プッシュ/プルのどの段階(つまり、(アン)パッキング、送信)で、どのくらいのアクションを既に実行したかを確認したいです。 gitターミナルを実行すると、次のようなものが印刷されることを忘れないでください domain.tld:repo.gitへのプッシュ オブジェクトのカウント:29、完了。 オブジェクトの書き込み:100%(15/15)、249.80 KiB | 28.00 KiB / s、完了。 合計15(デルタ10)、再利用0(デルタ0) にdomain.tld:repo.git 5436bd0..d9ec32aマスター->マスター アップデートローカルトラッキングref 'refs / remotes / origin / master' [明らかにこれは動的出力のスナップショットです]。その進捗をemacs内から表示したいと思います。 Edit2:githubで機能リクエストを開きました
14 magit 

2
magitでコミットに自動的に署名する方法は?
GPGキーで各コミットに署名することに興味があります。私はgitとのインターフェースにmagitを使用しているため、各コミットに署名するようにmagitに指示することは可能かどうか疑問に思っていました(または、少なくともこれを達成するための回避策は実行可能でした)。
13 magit  git  security  gpg 

4
Magit:行内の違いを表示する方法
ファイルがあり、いくつか変更を加えます。ここで、SmartGitがどのように違いを示すかを説明します。 ご覧のように、行のどこに違いがあるかがわかります。具体的な位置で背景を赤色に変更します。そして、それはとても良いです。違いを見つけるために時間を費やす必要はありません。違いがどこにあるかすぐにわかります。 これで、Magitでは次のようになります。 ご覧のとおり、Magitによると、違いは全体的なものでした。差異が行内のどこにあるかを示していません。だから私は手動でどこに違いがあるかを見つける必要があります。これを毎回行う必要があります。それはあまり比較できません。20行に違いがあるとします。実際に何が変わったのかを見つけるのに多くの時間を費やす必要があります。あまり良くありません。 magitは、変更がある実際の列で違いを示すことができますか?SmartGitのように。
13 magit 

1
Magit diffを並べて表示
で標準を並べてdiff表示する方法があるかどうかを知りたいですmagit。つまり、古いコードチャンクと新しいコードチャンクを次々に表示する代わりに、それらを同じ水平配置で表示したいと考えています。
13 magit  diff 

2
特定のバッファを新しいウィンドウで強制的に開くにはどうすればよいですか?
Magitで変更をコミットする場合、コミットに関する詳細を追加するときにdiffビューを開いておくと便利です。 Magitでは、*magit ..*バッファーに差分が表示されます。あなたがヒットするとcc、カーソルが上にある間に段階的なファイル、Magitはバッファをコミット.. COMMIT_EDITMSGポップアップ表示されます。デフォルトでは、この新しいバッファは*magit ..*コミット差分を表示していたバッファを置き換えます。 QUESTION - どのように私は作るのですか.. COMMIT_EDITMSG、私は両方見ることができるように(別のウィンドウ再利用したり、フレームがそもそもちょうど1つのウィンドウを持っていた場合は、新しいウィンドウを作成します)新しいウィンドウで開いているバッファ*magit ..*と.. COMMIT_EDITMSGバッファを?
12 buffers  window  magit 

2
Magit-ブランチ名全体を入力せずにリモートブランチをローカルでチェックアウトするにはどうすればよいですか?
私はリモートブランチを持っていremote-branch-long-nameます。私はヘルム完了してチェックアウトmagitとき、私は入力することができますremote-branchし、origin/remote-branch-long-nameオプションとして表示されます。問題は、このブランチをローカルでチェックアウトするには、実際にはそのブランチに切り替えることができず、に切り替える必要があることですremote-branch-long-name (without the origin/ prefix)。helmは完了オプションとしてそれを提供しないため、ブランチ名全体を手動で入力する必要があります。 このユースケースで使用する必要がある別の関数はありますか、それとも関数を一緒にハックする必要がありますか?
12 magit 

1
Magit-最後のコミットを元に戻す-履歴操作
このStackOverflowの質問には、最後のコミットを取り消すための最良のソリューション/アプローチがあります。 私は2週間前にMagitを使い始めましたが、そのすべてのドキュメントを調べた後でも、誤ってコミットされた変更を取り消すための確実で最良の方法はまだありません。 次に例を示します。 最後のコミットを元に戻したりやり直したりするには、次のコマンドを使用できます。 $ git commit -m "Something terribly misguided" $ git reset HEAD~ << edit files as necessary >> $ git add ... $ git commit -c ORIG_HEAD # To keep the same commit message Magitを使用してこの手順を再現するには、どのワークフローが最適ですか?
12 magit  git 


2
Magit:変更の保存を要求しない
変更が保存されていないバッファがある場合、magitはその変更を保存するためにすべてのアクションを要求します。 その変更をわざと保存しなかったので、この動作を無効にする方法はありますか?私のMagitは、保存されていない変更を単に無視するべきです。
11 magit 

1
magitでローカルブランチをプッシュするように上流ブランチを設定するにはどうすればよいですか?
私が覚えていることから、たとえば、ブランチで作業している場合my-feature-branch、以前はを使用してmagit-statusメニューからこれを実行でき、上部にP Pあるリストからリモートブランチを選択していorigin/my-feature-branchました。これは美しく機能しました。 最近、このディスカッションの時点で、P -u e(を開きmagit-push-popup、--set-upstreamフラグを設定しe、他の場所でを使用して)と同様のことができるようになりました。これにより、で始まるブランチのリストから同様に選択できますorigin/my-feature-branch。これも私にとってはうまくいきました。しかし、さらに最近では、これは機能しなくなり、上流のブランチを設定するための最良の方法を見つけることができませんでした。 P eブランチにプッシュする最初のオプションを使用する場合origin/my-feature-branchはです。これはほとんどの場合私が欲しいものです。ただし、origin/my-feature-branch私のローカルブランチのアップストリームとして設定されていません。を使用P uすると、上流のブランチを選択できますorigin/my-feature-branchが、リストにはありません。origin/my-feature-branchタブ補完なしで入力する必要があります(これは難しいことではありませんが、ユーザーエラーが発生しやすく、コマンドラインよりも低速です)。 これが今上流のブランチを設定する唯一の方法ですか、それとも何か不足していますか?この問題に関連する他のディスカッションやドキュメントを見ましたが、見つかったすべてのソースが古くなっているようです。
11 magit  git 

1
magitを使用したマスターからの単純なリベース?
何年もの間古いバージョンを使用していたので、最新バージョンのMagitにアップグレードしました。少し調べて違いを理解すると、すべての改善が素晴らしいものになります。 今、私は最も単純な(非インタラクティブ)リベースを実行しようとしているだけでmagit、それを行う方法を理解できません。この例はhttps://git-scm.com/docs/git-rebaseからのものです。 git checkout topic git rebase master ヒット r ? 私のトピックブランチは、マスターからの最新の変更でリベースされています。
11 magit 

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