0

最近、ソフトウェアの変更を gitHub リポジトリにコミットしました。コンピューター A にローカル リポジトリがあり、コンピューター B のリポジトリでいくつかの作業を行いました。リポジトリ B で行った変更を gitHub リポジトリにプッシュできませんでした (インターネットの問題)。そのため、変更したソース ファイルをコピーして、コンピューター A 上の関連するソース ファイルをそれらで上書きしました。コンピューター上で、AI が私の変更を gitHub リポジトリにプッシュしようとしたところ、不思議なことにヘッドが分離するという問題が発生しました。私はレポへの唯一の貢献者であるため、なぜこれが起こったのかを理解するのに十分な知識はありませんが、いずれにせよ、すべてのローカルファイルを追加し、問題を修正するためにリベースを続けました. すべてがうまくいきましたが、今日、ソース ファイルを調べたところ、ソース コードの周りに奇妙な git アーティファクトが広がっていることがわかりました: #include "TIM3.h"

<<<<<<< HEAD
#define PRESCALAR 1000

void TIM3_Init(uint32_t freq)
{
    uint32_t periodValue;
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
=======
#define PRESCALAR 42000

/*Timer initializer*/
void TIM3_Init(uint32_t freq)
{   
    uint32_t periodValue;   //Holds the period value
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure; //Creating the timer initializing strucure
>>>>>>> lab3 complete and some report

    NVIC_InitTypeDef NVIC_InitStructure;    //Creating the NVIC initializing structure

「<<<<<<< HEAD」、「=========、および ">>>>>>> lab3 の完了といくつかのレポート」は、もともと私のソース コードにはありませんでした。「lab3 complete and some report」は、最新のコミットに対して作成したコミット コメントです。

どのように/なぜこれが起こったのですか?

4

1 に答える 1

2

私はこれを私たちのコミットで見ました。これが私たちに起こった方法です(まあ、私は推測します:)

  1. ブランチをマージすると、競合が発生し、MERGING 状態になります (ブランチ名の背後にある git bash に表示されます)。
  2. あなたはgit guiを開きます
  3. 右上のリストでファイルの前にあるアイコン (実際には MERGING ブランチで競合している) をクリックして、ファイルをステージングします。
  4. コミットする git gui で、または git-gui を閉じた後に git-bash から。

--> このコミットはオリジンにプッシュされ、発行されます! ビルドの問題が原因ですべての問題が見つかったので、幸運でした ;)

于 2013-02-27T00:09:43.280 に答える