問題タブ [git]
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.
git - git でファイルを以前の状態に復元するにはどうすればよいですか?
次の相互作用があるとします。
作業コピーで「foo」を復元するにはどうすればよいですか? 私は次のようなものを探しています:
git - MercurialとGitの違いは何ですか?
私はWindows(msysGitを使用)でしばらくの間gitを使用しており、分散ソース管理のアイデアが好きです。つい最近、Mercurial(hg)を見てきましたが、面白そうです。ただし、hgとgitの違いに頭を悩ませることはできません。
gitとhgを並べて比較した人はいますか?ファンボーイの議論に飛び込むことなく、hgとgitの違いを知りたいです。
git - 複数のgitリポジトリをどのように編成して、それらすべてが一緒にバックアップされるようにしますか?
SVNを使用すると、サーバー上に1つの大きなリポジトリを保持し、いくつかのマシンでチェックアウトしました。これは非常に優れたバックアップシステムであり、どのマシンでも簡単に作業できました。特定のプロジェクトをチェックアウトしてコミットし、「マスター」プロジェクトを更新するか、すべてをチェックアウトすることができます。
現在、さまざまなプロジェクト用のgitリポジトリがたくさんあり、そのうちのいくつかはgithubにあります。私はまた、git-svnコマンドを介してインポートされた前述のSVNリポジトリを持っています。
基本的に、すべてのコード(プロジェクトだけでなく、ランダムなスニペットやスクリプト、CV、作成した記事、作成したWebサイトなど)を1つの大きなリポジトリに入れて、リモートに簡単に複製できるようにするのが好きです。マシン、またはバックアップとしてのメモリースティック/ハードドライブ。
問題は、それがプライベートリポジトリであり、gitが特定のフォルダのチェックアウトを許可しないためです(別のプロジェクトとしてgithubにプッシュできますが、変更はマスターリポジトリとサブリポジトリの両方に表示されますリポジトリ)
gitサブモジュールシステムを使用することもできますが、それも私が望むようには機能しません(サブモジュールは他のリポジトリへのポインタであり、実際のコードが含まれていないため、バックアップには役に立ちません)
現在、git-reposのフォルダー(たとえば、〜/ code_projects / proj1 / .git /〜/ code_projects / proj2 / .git /)があり、proj1に変更を加えた後git push github
、ファイルを〜/にコピーします。 Documents / code / python / projects / proj1 /そして単一のコミットを実行します(個々のリポジトリにある多数のコミットの代わりに)。次にgit push backupdrive1
、git push mymemorystick
などを行います
それで、質問:あなたの個人的なコードとプロジェクトをgitリポジトリでどのように行い、それらを同期してバックアップし続けるのですか?
git - git 履歴から特定のリビジョンを削除するにはどうすればよいですか?
git 履歴が次のようになっているとします。
1 2 3 4 5
1 ~ 5 は個別のリビジョンです。1、2、4、および 5 を維持したまま 3 を削除する必要があります。これはどのように行うことができますか?
削除するリビジョンの後に何百ものリビジョンがある場合、効率的な方法はありますか?
git - Git "bad sha1 file" エラー
こんにちは、git-fsck で次のエラーが発生しました。これは、--aggressive モードでも git-gc で消去できません。このリポジトリ エラーを修正するには、次に何をすればよいですか?
git - git-stash と git-branch の比較
以前のGit に関する質問で、Daniel Benamy は Git のワークフローについて話していました。
私はマスターに取り組んでいて、いくつかのことをコミットしましたが、その作業を保留することにしました。いくつかのコミットをバックアップしてから、くだらない仕事を始める前から分岐しました。
彼は、現在の変更を失うことなく、作業状態を以前の時点に復元したいと考えていました。すべての答えは、さまざまな方法で、次のようなものを中心に展開しました
これは と比べてgit stash
どうですか? すべてがすでに分岐によって処理されて
いるように見える場合、ここで別のユースケースが何であるかを確認しようとして少し混乱しています…</p>git stash
@ Jordi Bunster : ありがとうございます。「スタッシング」は、軽量で名前のないブランチのようなものだと考えていると思います。したがって、stash で実行できることはすべてブランチでも実行できますが、より多くの単語が必要です。良い!
svn - git には `svn propset svn:keywords` や pre-/post-commit フックのようなものがありますか?
git ドキュメントを参照すると、SVN のコミット フックや、ファイルがリポジトリにコミットされるたびにファイル内のバージョン番号や著作権通知を更新できる "propset" 機能に類似するものは見当たりません。
git ユーザーは、この種の機能用に外部スクリプトを作成することを期待されているのでしょうか (それは問題外ではないようです)、それとも明らかな何かを見逃しただけなのでしょうか?
編集:明確にするために、私はもっと興味があります。
このような文字列:
コミットが発生するたびに、関連情報で最新の状態に保たれます。
git - Git 統合によるバグトラッカーのセットアップ?
Trac をハックして Git フックを使用することで、ほとんどのことを実行できることはわかっていますが、何か準備ができている/知っている人がいるかどうか疑問に思っていました。
コミット メッセージからのチケットへのコメント (およびクローズ) は、特に diff がコメント/クローズ リマークとインラインで表示される場合に便利です。
sha1 ハッシュは、gitweb/cigt/custom git ブラウザーに自動リンクする必要があります。
Trac 用の GitPlugin を試しましたが、コード ブラウザが非常に遅かったです...代替手段はありますか?
svn - Subversion よりも Mercurial の方が分岐とマージが簡単なのはなぜですか?
Subversion や CVS でブランチへの複数のマージを処理することは、経験しなければならないことの 1 つにすぎません。Mercurial (およびおそらく他の分散システム) でブランチとマージを追跡するのは非常に簡単ですが、その理由はわかりません。他の誰かが知っていますか?
私の質問は、Mercurial を使用すると、Subversions/CVS の中央リポジトリと同様の作業方法を採用でき、すべてがうまく機能するという事実に由来しています。同じブランチで複数のマージを行うことができ、コミット番号とタグ名が書かれた無限の紙切れは必要ありません。
Subversion の最新バージョンには、ブランチへのマージを追跡する機能があるため、同じ程度の手間がかからないことは知っていますが、これは彼らの側では大規模で主要な開発であり、開発チームが行うすべてのことを行っているわけではありません。するのが好きです。
すべてが機能する方法には、根本的な違いがあるはずです。