私はGITを使いこなし、多くのことを試した後にこれを投稿します。gitの新機能:git pushエラーを表示する
問題は単純です:私は「試験」と言う他の枝にも存在しているマスターの「A」と言うファイルをしました。両方のファイルに変更があり、変更をマージしようとしました
コミュニティが私を導くことができる以前の投稿が多すぎますが、解決できない特定の問題があります。
ので、ここである事の事私が試してみた
- 私の現在のブランチは、私は変更をマージしたことbranch.Nowからの変化を示しているブランチ「試験」と(gitのディレクトリ内の)ローカルシステム上のファイルでありますマスターからgit checkoutコマンドを使用してマスターに切り替えました
- git pull origin masterとGit merを使用しました私はmasterから 'test'ブランチへの変更をマージする必要があります。しようとするには、どちらのコマンドでは、ファイル「A」で競合があることを示しています
- はその後、これらのエラーを検索する(エラーの例。マージが原因でマージされていないファイルのことはできませんが、自動マージが....など失敗した)、それが示唆されました私は簡単にマスターでのGithub(リポジトリ)に現在の変更をコピーすることができ
:私は手動で今ここで
私の質問が来るkdiffなどのようないくつかのツールを使用してファイルをマージするためにした投稿の数によって、 gitローカルリポジトリのファイルをブランチして更新します(バージョンはBranch 'test')。私の質問は:どのようにgitは、マージが完了したことを知っている?私もそれをして、もう一度コマンド 'git push origin master'を実行しましたが、かなり分かりやすく言うと、現在のブランチの先端は....などです。
私のローカルgitリポジトリ(手動で変更をコピーした後で)git push -f origin masterを使用して強制的に更新を行うことができました(私は知っています、そのような変更をマージするのが好ましい方法ではありません)。このコマンドは正常に実行されましたが、 'git checkout master'を実行すると、ファイル 'A'がマージする必要があるという別のエラーがスローされました。まず、現在のインデックスを解決する必要があります。
これは私に、マージが起こっていることを知らないと思って、手動で変更をマージしたことをgitがどのように知っているのかを私に伝えます。
別のことは、私は何とか知っている、私は地元のGitリポジトリ(ブランチテストに属している)と現在のリポジトリのmasterにあるバージョンとを比較したいと思います。 質問:どのように比較するために両方のファイルをローカルに並べてもらえますか?私はそれがのいずれかになります知っている
私はローカルマシンで実行し、現在のファイルであるGITもそのマージを知っているように、それはいくつかの方法で行われるべきである知っているがマージされた変更内容を更新したと準備が
を習得するためにプッシュします愚かな事私は
を検索するたくさんの後に何かを見つけることができ欠落しているが、真剣にいないよ============================= =================
編集:数人のメンバーからの質問に感謝!
[email protected] MINGW64 /d/GitAll/LearnGit (newGitBranch)
$ git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
[email protected] MINGW64 /d/GitAll/LearnGit (master)
$ git pull origin master
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/apexkeen/LearnGit
* branch master -> FETCH_HEAD
8682a7a..bed8390 master -> origin/master
Auto-merging Readme.txt
CONFLICT (content): Merge conflict in Readme.txt
Automatic merge failed; fix conflicts and then commit the result.
[email protected] MINGW64 /d/GitAll/LearnGit (master|MERGING)
$ git merge newGitBranch
error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
[email protected] MINGW64 /d/GitAll/LearnGit (master|MERGING)
$ git config --global --edit
[email protected] MINGW64 /d/GitAll/LearnGit (master|MERGING)
$ git push origin master
To https://github.com/apexkeen/LearnGit.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/apexkeen/LearnGit.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
[email protected] MINGW64 /d/GitAll/LearnGit (master|MERGING)
$ git push -f origin master
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/apexkeen/LearnGit.git
+ bed8390...674678e master -> master (forced update)
[email protected] MINGW64 /d/GitAll/LearnGit (master|MERGING)
$ git checkout master
Readme.txt: needs merge
error: you need to resolve your current index first
代わりに実際の 'git'コマンドラインと' git'出力を与えることができますか? – AnoE
初心者にとって大きな障害と思われる事の一つは、あなたの状況分析が間違っていることが多いことです。実際には、それは最初の場所で何が混乱していても、通常はどのようになっていますか?これは、実質的にすべての質問、特に初心者のために実行した実際のソースコードやコマンドを見ることを主張する理由です。 –