gitコマンド操作フロー

4020 ワード

githubとgiteeの2つの倉庫を使用してssh keyを再構成し、衝突を解決する場合は、まずこの記事を参照してください.◀クリック
  • githubはオンラインウェアハウス(分散バージョン制御システム)です.gitbashをダウンロードしたら、どのように一般的なコマンドを使用しますか?ここで私はいくつかの率直な記録をして、分かりやすくて直感的にすぐに使って、これらの命令はあなたを仕事の上で1人のgitユーザーにならせて、ふだん命令の中で1山の操作の上でもう悩まないで~もちろんあなたは深く理解したいので、廖雪峰Gitシステムのウェブサイトに行って学ぶことを歓迎します▶シャトル
  • 倉庫追加ファイル↓
  • 最初は、cloneでプロジェクトを終了した後、ファイルを新規または変更してオンラインを追加する必要がある場合:(git pullは最新コードの引き出しを実行します-コードの最新を保証します)
    git add .  //       
    git commit -m '      ' //     
    git push  //     
    
  • 倉庫新築分岐↓
  • プロジェクトにディレクトリ(ブランチ)を作成したい場合は、変更したコードをディレクトリに追加できます.
    git branch testName       //   -  
    git checkout testName     //      
    or
    git checkout -b testName  //           
    
  • プッシュブランチ↓
  • 次の実行は、-作成したディレクトリ(ブランチ)-リモート・ラインにプッシュします.
    git push origin testName          //             
    or
    git push origin testName:testName //         -    :(   )     
    
  • コードをマージ↓
  • メインブランチ/および-ブランチコードをメインブランチプロジェクトにマージ
    git checkout master //     
    git merge testName      //     
    git push            //     
    
  • 暫定コード^現在のワークスペースの変更を暫定的に保存↓
  • コードを修正したり、コードを更新したりして上書きされない場合はどうしますか?
    git stash //           
    git pull  //    
    

    保存はどうやって取り出したの?
    git stash pop //        
    

    地元の衝突を解決すればいい
  • 以前のcommit↓
  • を取り消す
    git pushの前にgit commitの内容が後悔したらどうする?または、以前のバージョンのコードに戻りたい場合は、ローカルに復元した後、現在の変更を上書きするか上書きしないかを選択できます.
    もしあなたが今このような場合、CはあなたのHEADで、(F)はあなたの現在のファイルの状態です.
       (F)
    A-B-C
        ↑
      master
    

    Cを取り除き、二度と会いたくない.では、あなたはこのようにします.
    git reset --hard HEAD~1
    

    実行後の結果は次のとおりです.
     (F)
    A-B
      ↑
    master
    

    今BはHEADです.あなたは--hardを使っているので、あなたのファイルはBの状態にリセットされました.コミットを取り消すが、変更したコード情報を保持し、いくつかの変更を行い、もう一度コミットします.次に、ステータスを見てみましょう.
       (F)
    A-B-C
        ↑
      master
    

    その場合は使わない--hard:
    git reset HEAD~1
    

    HEADの下付き文字を見てみましょう.
       (F)
    A-B-C
      ↑
    master
    

    通常、HEADは、最後にコミットされたポインタを指します.git reset HEAD~1コマンドを使用すると、GitにHEADポインタを前に戻して前のcommitに戻るように伝えます.ただし(hardパラメータを使用しない限り)ファイルは変更されていません.ではgit statusは、前にCに提出した修正の変化がまだ存在することを教えてくれます.これまで手札をなくしていませんでした.最小限の変更を行い、コミットを取り消しながらファイルとインデックスを保持します.
    git reset --soft HEAD~1
    
  • reset削除ファイル
  • を復元
    $ ls
    A  /  B  /  C  /  D  /
    

    テストとしてファイルを削除し、操作状態を確認するとdeletedのファイルがあり、リストに残っている3つのファイルが表示されます.
    $ git rm A  
    rm 'static_files/abbr_data'
    
    $ git status // '        '
    # On branch master
    # Changes to be committed:
    #   (use "git reset HEAD ..." to unstage)
    #
    #   deleted:    A  
    
    $ ls
    B  /  C  /  D  /
    

    最後にresetで削除したファイルを復元すれば良い
    $ git reset HEAD A  
    Unstaged changes after reset:
    M   /A  
    
  • ローカル取り消し後悔した、ある回の提出を回復↓
  • git reflog表示ログを実行し、すべてのHEADの履歴:git reflog
  • git reflog
    //        
    002abcdgrhfkhdg HEAD@{0}: commit:      
    001abcdgrhfkhdg HEAD@{1}: commit:      
    

    2.復元したいSHAを見つけ、以下の復元OKを実行します.
    git reset --hard 002abcdgrhfkhdg
    
  • ロールバックライン上のあるコミットレコード
  • 1.commitコミットをクリックし、ロールバックしたいcommit id情報を見つけます
    commit 003abcde123fghijk
    2.あるcommitのバージョン番号にリセット
    git reset --hard 003abcde123fghijk
    

    3.masterブランチを例に、オンライン倉庫のブランチを強制的に上書きします.この操作は個人のプロジェクトにのみ適しています.*慎重にバックアップを行います(現在のブランチに変更できます).
    git push -f -u origin master
    
  • 分岐を間違えて提出したらどうすればいいですか?↓

  • まず、もちろん、あなたのコミットをロールバックして最新の変更を保持し、その後、変更を一時保存領域に入れ、プッシュするブランチに切り替えてコミットし、変更内容を修正してbranch-1にコミットしたと仮定した場合
    git reset HEAD~1
    ...
    git stash 
    ...
    git checkout branch-2
    ...
    git stash pop
    

    次にあなたがやりたいことをすればいいです.例えば、ここで情報を提出します.
    git add
    ...
    git commit -m "okok"
    ...
    git push branch-2
    

    しかし、あなたのbranch-1ブランチは1回以上不要な提出をして、元のモデルの元の記録を取り戻したいと思っています.
    git checkout branch-1
    ...
    git push origin branch-1 -f