問題タブ [smartgit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
395 参照

git - SmartGit によるバージョン番号付け

SmartGit には、バージョン番号を設定して自動インクリメントする方法がありますか?

タグについて少し読んで、これを最初のブランチ (「5.7.0」) に設定しました。このタグを手動で設定する必要がありますか? または、バックグラウンドでバージョン管理を処理するプラグインがありますか?

0 投票する
0 に答える
850 参照

git - ファイル名に対して GIT マージ ファイルの内容が正しくありません。(SmartGit/Hg || IntelliJ IDEA) && (P4Merge || KDiff3)

問題

競合を解決するためにマージ ツールを設定する際に、マージ ツールに送信されたファイルは、含まれているコンテンツに対して正しくありません。Stack Overflow で検索してみましたが、答えが見つかりませんでした。


詳細

私はGITが初めてです。詳細を確認するために、Bitbucket にプライベート リポジトリを設定しました。Windows 7 64 ビットと次のソフトウェアがあります。

  • GIT クライアント: SmartGit/Hg
  • コードエディター: IntelliJ IDEA Ultimate
  • マージ: P4Merge || KDiff3

KDiff3 が SmartGit/Hg から呼び出された場合:

(A) C:\Users\Username\AppData\Local\Temp\smartgit6393324384790956404tmp\compare_base_2787531226782357806_README.md
(B) C:\Users\Username\AppData\Local\Temp\smartgit6393324384790956404tmp\compare_ours_2686269382530657828_README.md
(C) C:\Users\ユーザー名\AppData\Local\Temp\smartgit6393324384790956404tmp\compare_theirs_8849401324186420794_README.md
(出力) D:\Path\to\project\README.md

KDiff3 が IDEA から呼び出された場合:

(A) C:\Users\Username\AppData\Local\Temp\Merge_Result2324777776464644375.md
(B) C:\Users\Username\AppData\Local\Temp\Local_Changes7034162268721107201.markdown
(C) C:\Users\Username\AppData\ Local\Temp\Changes_from_Server__revision_d7bcd6bd85df4f7bae648786dfa944825991b4f3_1371061438544389037.markdown
(出力) D:\Path\to\project\README.md

  • (A) ベースを正しく表示します。IDEA の場合、「Merge_Result」は紛らわしいですが、少なくともベース データは含まれています。
  • (B) の内容は、LOCAL である必要がある HEAD データです。
  • (C) の内容は、HEAD であるべき場所に LOCAL データを表示しています。
  • (OUTPUT) は、マージ/解決を保存する競合ファイルの正しい場所です。

私の理解では、ローカル データは mine/ours/yours/local ファイルにあり、head データは theirs/remote/head ファイルにある必要があります。


設定

SmartGit/Hg P4Merge 設定:

ファイル パターン: *.md
コマンド: P:\Program Files\Perforce\p4merge.exe
引数: ${baseFile} ${leftFile} ${rightFile} ${mergedFile}

SmartGit/Hg KDiff3 設定:

ファイル パターン: *.md
コマンド: P:\Program Files (x86)\KDiff3\kdiff3.exe
引数: ${baseFile} ${leftFile} ${rightFile} -o ${mergedFile}

問題が解決したら、ファイル パターンを更新します。

IDEA KDiff3 設定:

実行ファイルへのパス: P:\Program Files (x86)\KDiff3\kdiff3.exe
パラメータ: %2 %1 %3 -o %4


質問

P4Merge と KDiff3 の両方に同じ問題があるため、ローカルの GIT インストールに何か問題があるのではないかと思われますが、これをトラブルシューティングして解決するために次にどこを見ればよいかわかりません。何が間違っていて、どうすれば修正できますか?

Git の学習を進めたいのですが、差分ツールやマージ ツール (またはそれらが使用しているデータ) の精度に不安があると、それに集中できません。


参考文献

P4Merge: http://www.perforce.com/perforce/doc.current/manuals/cmdref/P4MERGE.html
KDiff3 : http://kdiff3.sourceforge.net/doc/documentation.html

あと 3 つありますが、それ以上のリンクを投稿するほどの評判がありません。それらは、Bitbucket、Araxis ドキュメント、および P4Merge のドキュメント化されていないオプション/引数/パラメータを参照するスタック オーバーフロー ページに相当します。私は Araxis を使用していませんが、多くの異なるプログラムでコンフリクト リゾルバーの設定を見つける場所について、適切な指示がいくつかあります。


対立を生み出す

README.md (初版)

引く。

README.md (Bitbucket/Web ページで編集、コミット、承認済み)

README.md (ローカルで変更)

スタッシュの変更。引く。スタッシュを適用します。おめでとう!これで、解決する必要のある競合が発生しました。

0 投票する
0 に答える
884 参照

git - master ブランチをチェックアウトすると、実際には git でチェックアウトされません

今日、上流のブランチからプルしてリベースした後、上流のブランチへの最近のコミットが有効になっていないように振る舞う状況に遭遇しました。

私が覚えている最も良い順序での症状:

  1. ローカル ブランチでコーディングしている間、Visual Studio ソリューション ファイルは私の介入なしに変更されたように見え続けました。その新しいコンテンツは、最新のコミットで 1 つのファイルだけを元に戻しました (ただし、他の 3 つの .cs ファイルと .prj ファイルは元に戻していません)。Visual Studio がそれを行っているように見えましたが、確かなことはわかりません。(つまりgit status、新しく変更された .sln ファイルが表示されましたが、私の変更はプロジェクトに影響を与えるべきではありませんでした)。

  2. このファイルが変更されており、ソリューションが重要な新しい依存関係 (2 つのプロジェクトに追加された参照) を認識していないため、ソリューションをビルドできませんでした。変更されたファイルを破棄しても (アップストリームからの最新のコミットで変更を追加したかったという理論に基づいて) 役に立ちませんでした。

  3. 私はローカル開発ブランチで変更を行ってきましたが、単一のローカル コミットがどのように奇妙なことを引き起こしているのかわかりませんでした。そのような変更を行っていなかっただけです。

  4. VS を閉じて再度開き、ソリューションを複数回クリーニングして再構築しました。

  5. SmartGit ログには、私がローカル ブランチに対して行った、予期していたもの以外に、追加のコミットや変更は表示されませんでした。

  6. 交絡要因を取り除こうとして、ローカルの開発ブランチからローカルのマスター ブランチ (通常、新しいコミットを行わずに変更しないままにしておく) に切り替え、プロジェクトを再ビルドしましたが、結果はすべて同じでした。

  7. SmartGit ログが、マスターが実際にはマスターではないという視覚的な証拠を提供していることにようやく気付きました。SmartGit/Hg 5.0.3 (ビルド #2073) のこのスクリーン ショットを見てください。

    SmartGit ログのスクリーンショット

    これは git console で発行した後の結果git checkout masterです。しかし、コミット ノードを結ぶ青い線を見てください。これは、履歴をさかのぼって 11 番目のコミットを実際にチェックアウトしたことを示しています。

    私が発行git checkout master^すると、2番目のコミットが適切にチェックアウトされ、それに応じて青い線が調整されます。

    SHA による最新のコミットをチェックアウトするとgit checkout a07df46、青い線が一番上のコミットまで伸びます。

  8. 私が行うと、それがアップストリームからの最新のコミットの SHA を指してgit show-refいることを示しています- 期待どおりです。refs/heads/master

  9. 次の一連のコマンドを試しましたが、状況はまったく改善されませんでした (SHA はアップストリームからの最新のコミットのものです)。

    /li>

私がやりたいことは、開発を続けられるようにリポジトリを同期することだけです!

すぐに解決できない場合は、すべてのローカル ブランチを個人用のリモート フォーク (アップストリームのメイン プロジェクトとは異なる) にプッシュし、ローカル リポジトリを削除し、アップストリーム リポジトリをローカルで再クローンしてからプルします。フォークから戻ってきた気になるブランチ。しかし、どのようにして git がこの奇妙なマスターだがマスターではない状態になったのか知りたいです。

リポジトリ全体を再クローンせずに、この奇妙な状態から回復するにはどうすればよいですか?

0 投票する
0 に答える
1804 参照

git - smartgitは、オリジン/ローカルをローカル/または反対方向にリベースします

プルを 使用してローカルの変更をリベースするか、オリジンbracnhをフェッチしてから、「HEADをリベースする」を介して手動でローカルヘッドをオリジン/ローカルブランチにリベースすると...マージの競合が発生しますが、問題ありません...


私が邪魔されているのは2つだけです:頭の名前の後)。


誰かがこれに光を当てることができますか?また、友人のコンピューターで同じ操作を実行しようとすると、すべて問題ありません! 私もクリアログが欲しいです。しかし、まだマージブランチを使用してこの問題を解決していません。助けてください!

0 投票する
2 に答える
1786 参照

git - 別のルートを持つリポジトリで git コミットを再生する

私は現在、sourceforge のFreeGLUTプロジェクトのメンテナーの 1 人です。このコードは SVN リポジトリに保存されていますが、他のユーザーの貢献を刺激するために、git リポジトリを利用できるようにしたいと考えています。現在githubにあるsvnトランクのgit-svnクローンをすでに持っています(実際にはgit-svnと互換性がないSmartGitで作成されています)。

これはクローンで作りましたhttps://svn.code.sf.net/p/freeglut/code/trunk/freeglut。ただし、クローンhttps://svn.code.sf.net/p/freeglut/codeを作成して、SmartGit の svn ブリッジにブランチとトランクを認識させる必要があることがわかりました。

この新しい正しいクローンをローカルに作成しました。ここでの問題: 古い/間違ったクローンのローカル git リポジトリに既にいくつかのコミットがあります。これらを新しいレポに転送したいのですが、ディスク上のルートディレクトリが同じではないため、ここで概説した単純なリベース戦略は機能しません (私は思います)。

パッチでそれを行うこともできます.パッチファイルのパスにプレフィックスを付けgit applyて動作させる--directory引数もありますが、コミットごとにコミットする必要があります. 少なくとも、複数のコミットを 1 つのパッチ ファイルに入れ (スカッシュせずに) HEAD、.

問題を解決するにはどうすればよいですか?

0 投票する
1 に答える
7769 参照

git - SmartGit/hg にグローバル gitignore を追加するにはどうすればよいですか?

グローバル.gitignore ファイルを作成しました ( https://help.github.com/articles/ignoring-files#global-gitignoreを参照) が、これをリポジトリに追加せずに SmartGit のすべてのプロジェクトで使用するにはどうすればよいですか?

0 投票する
3 に答える
58 参照

git - 一度に複数の Git ログを表示するツール

私は、マスター ブランチが開発者ブランチに定期的にマージされるようにする任務を負っています。

弊社の体制はこんな感じです。4 つのリポジトリがあり、それぞれのリポジトリにメインのマスター ブランチがあり、いつでも作業中の約 5 ~ 10 の開発者ブランチがあります。開発者ブランチは 1 日から 3 か月の間アクティブにすることができ、ブランチの名前が重複することはありません。

週に 1 回、マスター ブランチだけでなくすべての開発者ブランチをチェックし、どのブランチがマージされ、どのブランチがマージされていないか、そしてそれらの最後のマージがいつ行われたかを追跡する必要があります。

私は現在、SmartGit を使用してブランチに切り替え、ログを確認するなどしてこれを行っていますが、このプロセスを高速化するか、場合によっては自動化したいと考えています。

これを行うツールはありますか、これを行うために書くことができるバット スクリプトはありますか?

他のgit関連の質問を見ると、いくつかの組み合わせを使用できる可能性が高いことがわかります

しかし、これを現在の手動の方法よりも迅速かつ簡単にする何かが欠けているに違いありません。

編集:

これまでのところ、非常に有望な回答が寄せられているので、2 つのしわを追加したいと思います。

  1. 両方の方向を追跡する必要があります。開発者ブランチが master からマージされるとき、および master にマージされるとき。
  2. 「プロダクション」と呼ばれる 3 つ目のブランチも監視する必要があります。master を他のブランチと比較する答えは、「production」ブランチをさまざまな名前付き開発者ブランチと比較しても機能しますか?
0 投票する
0 に答える
508 参照

git - UnGitブランチグラフをカスタマイズするには?

プロジェクトでブランチとマージを視覚化するために ungit を使用しています。私はプログラミングの目的だけで git を使用するわけではなく、多くの分岐とマージがあります。現在、 git loggitkからSource Treeまで、いくつかのアプリをテストしました。(この質問を確認してください)。

ただし、下のグラフのノードとブランチを簡単に調整およびカスタマイズできるかどうかを知りたい. 技術的には可能であることは知っていますが、CSS や js などには詳しくありません。しかし、この問題に対する直接的な解決策を提供してくれる限り、新しいツールを学びたいと思っています。ungit 開発者にリクエストを送信するオプションがありますが、事前に家庭でできる解決策を知りたいです。

git ツリーの例を次に示します。

ungit グラフの簡単なテスト例

0 投票する
2 に答える
1173 参照

git - SmartGit:新しいブランチを作成するときにベースブランチを設定する方法は?

TortoiseGit から SmartGit に移行しようとしています。

TG には、新しいブランチを作成するための非常に明確なインターフェイスがあります。ここに画像の説明を入力

しかし、SmartGit では、「Branch -> Add Branch」のみが見つかりました。これは、非常に貧弱なダイアログを示しています。ここに画像の説明を入力

新しいブランチを作成するたびに、ベースブランチに切り替えたくありません。TG のように SmartGit でベース ブランチを選択する方法はありますか?