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

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

5
Gitでファイルを1つだけプルすることは可能ですか?
いくつかの壊れたテストがあるGitブランチで作業しています。すでに修正されている別のブランチからこれらのテストをプルします(変更を上書きするだけでなく、マージします)。 私はできることを知っています git pull origin that_other_branch しかし、これは他の多くのファイルをマージしようとするため、まだ準備ができていません。 その別のブランチから指定されたファイルのみをプルしてマージすることは可能ですか? この質問に対するすべての回答は、ブランチを変更せずにローカルで変更されたファイルをリポジトリバージョンに戻す方法であるため、これは1つのファイルに対するGitプルリクエストの複製ではありません。

11
端末でGitユーザー名を変更するにはどうすればよいですか?
ターミナルでgitからプッシュしたりプルしたりした後、github.comでユーザー名を変更しました。私はいくつかの変更をプッシュしようとしましたが、古いユーザー名をまだ認識していたため、プッシュできませんでした。ターミナルのgitでユーザー名を変更/更新するにはどうすればよいですか?
177 git  github  git-config 

12
ローカルGitリポジトリに変更がある場合、Bashスクリプトをチェックインするにはどうすればよいですか?
変更をチェックすると、正しく機能しないスクリプトがいくつかあります。 私はこのようにしてみました: VN=$(git describe --abbrev=7 HEAD 2>/dev/null) git update-index -q --refresh CHANGED=$(git diff-index --name-only HEAD --) if [ ! -z $CHANGED ]; then VN="$VN-mod" fi 前回のコミット以降に変更があったかどうか、ある種のブールチェックはありますか?または、ローカルリポジトリに新しい変更があるかどうかを実際にテストするにはどうすればよいですか? 私は、バージョン作成スクリプト(ここのどこかで見つけたもの)のためにこれをすべて行っています。
176 git 



5
ローカルGitブランチを別の名前のリモートに簡単にプッシュするにはどうすればよいですか?
常に両方の名前を指定せずに、ローカルブランチを別の名前のリモートブランチでプッシュおよびプルする簡単な方法があるかどうか疑問に思っていました。 例えば: $ git clone myrepo.git $ git checkout -b newb $ ... $ git commit -m "Some change" $ git push origin newb:remote_branch_name 誰かがremote_branch_nameを更新した場合、次のことができます。 $ git pull そして、すべてがマージ/早送りされます。ただし、ローカルの「newb」に変更を加えると、次のことはできません。 $ git push 代わりに、私はしなければなりません: % git push origin newb:remote_branch_name 少しばかげているようです。をgit-pull使用git-config branch.newb.mergeしてどこからプルするかを決定する場合git-push、同様の構成オプションを使用できないのはなぜですか?これの良いショートカットはありますか、それとも長い道のりを続けるべきですか?


9
Gitでのハッシュ衝突
gitの使用中にハッシュの衝突があった場合、実際にはどうなりますか? たとえば、同じsha1チェックサムで2つのファイルをコミットできた場合、gitがそれに気づくか、ファイルの1つを破損しますか? それに合わせてgitを改善できますか、それとも新しいハッシュアルゴリズムに変更する必要がありますか? (それがどれほどありそうもないことについて議論することによってこの質問をそらさないでください-ありがとう)
175 git  hash  sha1  hash-collision 

15
すべてのリモートgitブランチをローカルブランチとして追跡する
単一のリモートブランチをローカルブランチとして追跡することは簡単です。 $ git checkout --track -b ${branch_name} origin/${branch_name} すべてのローカルブランチをリモートにプッシュし、必要に応じて新しいリモートブランチを作成することも簡単です。 $ git push --all origin 逆にしたい。単一のソースにX個のリモートブランチがある場合: $ git branch -r branch1 branch2 branch3 . . . 手動で各ブランチを作成する必要なく、それらすべてのリモートブランチのローカルトラッキングブランチを作成できますか?次のように言います: $ git checkout --track -b --all origin 私はグーグルとRTMを使用しましたが、これまでに2段になってきました。
175 git  branch 

8
最終的に使用されるgitファイルのバージョン:LOCAL、BASE、REMOTE?
中git mergeにコリジョンが発生した場合、Meldというマージツールを開きます。LOCAL、BASE、REMOTEの3つのファイルを開きます。私はLOCALが私のローカルブランチであることを読んだので、BASEは共通の祖先であり、REMOTEはマージされるブランチです。 さて、私の質問です。ファイルのどのバージョンが最終的に使用されますか?それはリモートですか?その場合、たとえばBASEブランチの内容に関係なく、好きなように編集できますか?
174 git  git-merge  meld 

7
Gitが「ブロックチェーン」と見なされないのはなぜですか?
Gitの内部データ構造はデータオブジェクトのツリーであり、各オブジェクトはその先行オブジェクトのみを指します。各データブロックはハッシュされます。保存されたハッシュと実際のハッシュが異なる場合、中間ブロックを変更(ビットエラーまたは攻撃)します。 このコンセプトはブロックチェーンとどう違うのですか? Gitはブロックチェーンの例としてリストされていませんが、少なくとも要約すると、両方のデータ構造の説明は似ています(データブロック、単一方向の逆リンク、ハッシュなど)。 では、Gitはブロックチェーンと呼ばれていないという違いはどこにあるのでしょうか。
174 git  hash  blockchain 

3
git rebase、「ローカル」と「リモート」の追跡
git rebaseを実行するとき、競合を解決するときに「ローカル」と「リモート」で何が起こっているのかを理解するのが難しいことがよくあります。あるコミットから次のコミットにサイドを入れ替えるような印象を受けることがあります。 これはおそらく(間違いなく)まだ適切に理解していないためです。 リベースするとき、誰が「ローカル」で誰が「リモート」ですか? (私は競合の解決にP4Mergeを使用しています)
174 git  conflict  rebase 



6
Gitを使用してリモートリポジトリに最初のプッシュを行うにはどうすればよいですか?
数えきれないほどのチュートリアルを読み終えたので、短くなり続けます。ここに私が持っているものがあります: -私は自分のWindowsデスクトップでRubyMineを実行しています - 指示に従って WebFactionホスティングアカウントにGitをインストールしました-Git は両方のマシンで正常に動作しているようです これが私がやっていることです: 1.サーバー上: a。mkdir プロジェクト b。git init c。git add。 d。git commit <--- "何もコミットする必要はありません" 2.クライアントで: a。RubyMineで新しいプロジェクトを作成します。 b。プロジェクトの最上位ディレクトリにある「git init」 c。サーバーへの「変更のプッシュ」<----「一部の参照のプッシュに失敗しました...」 どのステップが欠けていますか?

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