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

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

4
Gitステータス-特定のディレクトリのみの変更を表示する方法はありますか?
最後のコミット以降に変更されたファイルのリストを表示したいのですgit statusが、私は単一のディレクトリにあるファイルのみに関心があります。これを行う方法はありますか?私が試しましたがgit status <directory>、これは完全に異なる何かをしているようです(git add <directory>最初に書いた場合のように、すべての変更されたファイルをリストします)。 git-statusのドキュメントは、git-commitと同じオプションを受け入れるという事実を除けば、あまりわかりません(ただし、git-commitの目的は、変更されたファイルのリストを表示することではありません)。
135 git  directory  status 

4
Gitでのリモートブランチのリベース
私は中間のGitリポジトリを使用して、リモートSVNリポジトリをミラーリングしています。そこから、人々はクローンを作成して作業できます。中間リポジトリでは、マスターブランチが上流のSVNから毎晩リベースされており、機能ブランチに取り組んでいます。例えば: remote: master local: master feature 私は機能ブランチをリモートに正常にプッシュして戻すことができ、期待どおりの結果になります。 remote: master feature local: master feature 次に、ブランチを再セットアップしてリモートを追跡します。 remote: master feature local: master feature -> origin/feature そして、すべてが順調です。ここで私がしたいことは、リモートで機能ブランチをマスターブランチにリベースすることですが、ローカルマシンからこれを実行したいと思います。私ができるようにしたい: git checkout master git pull git checkout feature git rebase master git push origin feature リモート機能ブランチをリモートマスターで最新の状態に保つため。ただし、この方法ではGitが文句を言います。 To <remote> ! [rejected] feature -> feature (non-fast-forward) error: failed to …

7
Gitを使用したローカルブランチの削除
私はググってみましたが、このトピックにはいくつかの非常に長いスレッドがあり、どれも役に立たないようです。私は何か間違っていると思います。というブランチがありTest_Branchます。おすすめの方法で削除しようとすると、次のエラーが表示されます。 '[ディレクトリの場所]'でチェックアウトされたブランチ 'Test_Branch'を削除できません。 それ以外の情報はありません。リモートブランチを簡単に吹き飛ばすことができますが、ローカルブランチは消えません。
135 git 

5
gitで「マスター」に戻す方法は?
私は最初のコミットを行いました。次にブランチを作成します(branch1としましょう)。 このブランチでは、ディレクトリ「example」を作成してコミットしました。GitHubに、新しいブランチと、追加した新しいディレクトリ「example」が表示されます。 どうすればマスターに「同期」できるのでしょうか。そして、「example」フォルダが削除されます(マスターに存在しないため)。 編集:find . -type d -empty -exec touch {}/.gitignore \; 仕事をしました。
135 git 

4
新しい(そして空の!)「ルート」ブランチを作成する方法は?
このgitリポジトリに新しい「ルート」ブランチを定義したいと思います。「ルート」ブランチとは、リポジトリ内の他のすべてのブランチから完全に独立しているブランチを意味します1。 残念ながら、Aリポジトリのコミットツリーの最下部にあるコミット(これをと呼びましょう)にも多くのファイルが含まれています(これは、かなり成熟したプロジェクトで初期化されたリポジトリでした)。 これは、私がA新しいブランチとして指定したとしても<start-point>、この新しいブランチは「白紙の状態」から始まるのではなく、でコミットされたすべてのファイルが含まれることを意味しますA。 このリポジトリにできる限り<start-point>近い状態で完全に裸のブランチを作成する方法はありますAか? 1ところで、これは新しいリポジトリを作成することと同じではありません。別々のリポジトリは、多くの理由で便利ではありません。 編集:OK、これはvcsjonesの答えに基づいて私がしたことです: # save rev of the current earliest commit OLDBASE=$(git rev-list --max-parents=0 HEAD) # create a new orphan branch and switch to it git checkout --orphan newbranch # make sure it's empty git rm -rf . # create a new empty commit in the new …
135 git 

10
リモートブランチからチェリーピックする方法は?
チェリーピックを実行できません。私のローカルマシンでは、現在「マスター」ブランチにいます。「ゼブラ」という名前の別のブランチからのコミットをチェリーピックしたい。「ゼブラ」ブランチはリモートブランチです。 だからgitステータス: # On branch master nothing to commit (working directory clean) OK、今私は欲しいコミットをチェリーピックしようとします: git cherry-pick xyz fatal: bad object xyz ここで、「xyz」は、ブランチ「zebra」で発生した、私が関心を持っているコミットのシグネチャです。 最初の明白な質問は、なぜ私が参照しているコミットをgitが見つけられないのですか?正直なところ、そもそもこれがどのように機能しているかはよくわかりません。他のすべてのブランチのために、gitはコミットのデータベースのようなものを自分の作業ディレクトリにローカルに格納しますか?cherry-pickコマンドを実行すると、ローカルデータベースを検索して、私が話しているコミットを見つけますか? 「ゼブラ」はリモートブランチなので、ローカルにデータがないと思っていました。だから私はブランチを切り替えました: git checkout zebra Switched to branch 'zebra' これで、ローカルマシン上で、ディレクトリ内のファイルがシマウマの状態を正しく反映していることがわかります。私はマスターに戻り、もう一度チェリーピックを試みます(コミットデータが現在利用可能であることを期待しています)が、同じ問題が発生します。 私はここで何が起こっているのかについての根本的な誤解を持っています、どんな助けも素晴らしいでしょう。
135 git 

4
gitignoreはフォルダーを無視しません
プロジェクトのルートにfooフォルダーがあります。fooフォルダ内にフォルダがありbarます。barフォルダー内のすべてのファイルに対するすべての変更を無視します。私はこれを私の中に持っていますgitignore: /foo/bar フォルダーがチェックされます。フォルダーが存在し、無視するファイルが含まれています。gitignoreあるcommitテッドは。しかし、私は変更を加え、自分のbarフォルダー内にあるファイルを持っています。入力すると git status 私の中git bashに無視されるべきだったファイルが見えます。理由は何ですか?どのようにしてbarフォルダー内のすべてのファイルを正常に無視できますか? ファイルは以前は同じ行で無視されていましcommitたが、サーバー上の何かに対してその行を一時的に削除する必要があったことに注意してください。の後、commitラインをに戻しましたgitignore。これは少し前のことですが、ファイルがにあることを確認しましたgit status。無視されたファイルをに表示せずに変更できると思いますgit status。
135 git  gitignore 

17
秘密鍵とパスワードをバージョン管理システムに安全に保存するにはどうすればよいですか?
バージョン管理システムでは、開発サーバーと本番サーバーのホスト名やポートなどの重要な設定を保持しています。しかし、VCSリポジトリに秘密(秘密鍵やデータベースパスワードなど)を保持することは悪い習慣であることは知っています。 しかし、パスワードは、他の設定と同様に、バージョン管理する必要があるようです。では、パスワードのバージョン管理を維持する適切な方法は何でしょうか? 私はそれが維持伴うだろうと想像秘密を自分の「秘密の設定」ファイルにして持っていること、ファイルが暗号化され、バージョン管理します。しかし、どんなテクノロジー?そして、これを正しく行う方法は?それについて完全に取り組むより良い方法はありますか? 私は一般的に質問しますが、私の特定のインスタンスでは、gitとgithubを使用してDjango / Pythonサイトの秘密鍵とパスワードを保存したいと思います。 また、理想的なソリューションは、gitでプッシュ/プルするときに魔法のようなものを実行します。たとえば、暗号化されたパスワードファイルが変更された場合、パスワードを要求して所定の位置に復号化するスクリプトが実行されます。 編集:わかりやすくするために、私はプロダクションシークレットを格納する場所について質問しています。

3
git amとgit applyの違いは何ですか?
git amとgit applyは両方ともパッチの適用に使用できます。違いがわかりません。今は違いがあります:git am自動的にコミットgit applyしますが、ファイルに触れるだけでコミットは作成しません。それが唯一の違いですか?
134 git  patch 


6
.gitフォルダーを縮小する方法
私の現在のベースの合計サイズは約です。200MB。 しかし、私の.gitフォルダーのサイズは5GB(!)と驚くべきものです。作業を外部サーバーにプッシュするので、ローカルの大きな履歴は必要ありません... ノートブックの空き容量を増やすために.gitフォルダを縮小するにはどうすればよいですか?30日より古いすべての変更を削除できますか? 助けてくれてありがとう:)
134 git 

3
gitでチェックアウトを元に戻すにはどうすればよいですか?
ローカルのgitリポジトリから以前のコミットをチェックアウトしました。何も変更していません。見ていました。今、最新のコミットに戻りたいのですが、どうすればよいですか? チェックアウトに使用した正確なコマンド: git checkout e5dff6b3c5d704f9b598de46551355d18235ac08 これでgit logと入力すると、上部にこのチェックアウトされたコミットが表示されますが、それ以降のコミットは表示されません。それらを誤って削除しましたか?
134 git 

30
gitlabでのアクセス許可の拒否(公開鍵)
私の問題は、GitLabからプッシュまたはフェッチできないことです。ただし、(HTTPまたはSSHを介して)クローンを作成できます。プッシュしようとすると、このエラーが発生します。 権限が拒否されました(公開鍵)致命的:リモートリポジトリから読み取れませんでした 私が見たすべてのスレッドから、これが私がやったことです: コンピューターにSSHキーを設定し、公開キーをGitLabに追加しました 設定を行いました-ユーザー名とメールのグローバル SSHおよびHTTPを介して複製され、問題が解決するかどうかを確認します ssh -T git@gitlab.comコマンドを実行 私の問題を解決する方法について何か洞察があれば、それは大歓迎です。
134 git  ubuntu  ssh  gitlab 

7
schema.rbを紛失しました!再生できますか?
デプロイの問題のため、gitでschema.rbの追跡を停止しました。どういうわけか、私はこれを詰め込み、schema.rbファイルが消えた途中でどこかに詰めました。 データベースまたはマイグレーションからschema.rbを再生成する方法はありますか?既存のデータを失わないようにしたいと思います。


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