GITブルーム


このポストは、我々が日常的なオフィス仕事で通常使用する主要なGit CLIコマンドの例のコレクションを含みます.私はそれらをグループ化して、それが彼らを覚えて、彼らを利用するのが簡単であるように、組織化されました.

絵画的表現





起動

directorygit repoに変えさせる

  • git init
    
  • の後、あなたのレポを遠隔
  • にリンクするために、remote Repoのgithubを加えました

  • あなたが何かを持つならば、あなたはちょうどor
  • git clone <your github repo url>
    

    クローンを見る


    git log
    

    追跡/非追跡ファイルのログをチェックするには


    git status
    

    リモコン


    すべてのリモコン情報を一覧表示


    git remote -vv
    

    ステータスの追加


    git remote add origin git@github.com:mumarkhan999/css-tricks.git
    

    新しいリモートの編集

    already added remoteここにoriginはあなたが編集したいremoteの名前です
    git remote set-url origin git@github.com:mumarkhan999/elephant-fight-in-flex-layout.git
    

    既に追加された

  • あなたはリモートの名前でoriginに置き換えられます
  • git remote remove origin
    

    リモートからデータを取得する


    git fetch origin
    
  • は、支店名、メタデータE . TC .を持ってきます
  • 分岐


    リスト一覧


    git branch
    

    リストをすべて分岐する


    git branch -a
    

    枝の作成


    git branch my_new_branch
    git checkout my_new_branch
    

    枝の作成とチェック


    git checkout -b my_new_branch
    

    現在のものから別のブランチから分岐を作成する


    git checkout -b my_new_branch not_current_branch_name
    

    あなたが名前なしでいた最後の枝へのチェックアウト


    git checkout -
    

    現在のブランチ名


    git rev-parse --abbrev-ref HEAD
    

    ローカルブランチを異なる名前のリモートブランチにプッシュする


    git checkout -b my_local_master origin/master
    ...
    git push origin my_local_master:master
    
    別のブランチを別の枝にプッシュすることもできます
    git push origin develop:master
    
    これは、ローカルから開発の正確なレプリカにリモートでマスターになります

    プッシュフォース


    git push origin branch_name -f
    

    ブランチのフェッチとプル

  • fetchは、ちょうどあなたの支店を遠いものから持ってきます
  • git fetch origin develop
    
  • pullfetchmergeへの入って来るデータ
  • git pull origin develop
    

    プルがデフォルトの現在のブランチ

  • あなたが旗でリモートの変化を引いてください-- Merge、それはデフォルトでもあります、そして、あなたのローカル変化はリモート変化と合併されます.これは、最新のローカルコミットと最新のリモートコミットをポイントします.
  • git pull --merge
    

    ――プルでマージする

  • フラグを使ってリモートの変更を引いた場合、リモートの変更の上にローカルな変更が再適用されます.
  • git pull --rebase
    

    正規表現を使用した複数のGit分岐の削除


    Gitコマンドを使用して、次のように正規表現を使用して一度に複数のgitブランチを削除できます
    git branch -D `git branch | grep -i "your regular expression"`
    

    すべてのブランチ情報を一覧表示


    git branch -vv
    

    -- Rebase現在の枝


    git branch -m new-name
    

    名前を変更する


    git branch -m old-name new-name
    

    旧名前リモートブランチを削除し、新しい名前をローカルブランチ


    git push origin :old-name new-name
    

    新しい名前ローカルブランチの上流ブランチをリセットする

  • ブランチに切り替えてから
  • git push origin -u new-name
    

    他枝


    git branch -D branch_name
    
  • Deletingは強制的に
  • である

    -削除の不要な分岐

  • は、remoteであるために利用できる枝をリストします
  • git remote prune origin --dry-run
    
  • これを削除すると、これらのコマンドの両方を実行するほうがよい
  • git remote prune origin
    

    削除から特定のファイルを持参

  • あなたがanother branchにいると言いましょう
  • あなたはmasterから特定のファイルを持ってきたいです
  • git checkout develop -- lms/djangoapps/courseware/admin.py
    

    追加


    追加開発

  • 作成されたファイルはすべてall 1
  • です
  • newlyは、untracked彼ら242479182でありません
    それらを追跡可能にする

  • git add new1.txt new2.txt
    
  • git
  • git add -A
    
  • track
  • git add directory/*
    

    追加のみ追加

  • 今、あなたのorに2種類のファイルがあると言いましょう
  • 追跡/追跡されていない
  • は、orだけを追跡したいです
  • git add -u
    
  • は、仕事
  • をします

    委託


    最後のコミットメッセージ


    git commit --amend -m "New commit message."
    

    メッセージを編集せずに最後のコミットを修正する


    git commit --amend --no-edit
    

    タグ付け


    Gitタグを最新のコミットに移動する


    あなたが3つのコミットを持つ枝を持っていると言いましょう.最初に、あなたにタグがありますが、あなたはそれを最新のものに動かしたいです.
    git tag -af <tag_name_on_first_commit>
    git push origin --tags -f
    
    この後、Githubのタグ/リリース説明を更新する必要があります.
    上記のScenerioでは、最新のコミットにタグを移動させました.コミットハッシュを指定するだけです
    git tag -af <tag_name_on_first_commit> <commit_hash_of_second_commit>
    git push origin --tags -f
    

    作業ディレクトリからファイルタグを追跡


    git fetch --tags --all
    

    再舗装


    コミットの再書き込み


    git rebase master
    

    リバイニング(特定の範囲のコミットだけで)


    git rebase --onto <base_branch> <start_commit_hash> <end_commit_hash>
    
    新しいブランチを作ることができるか、あなたが望む何でもあなたのためにコミットをつくります
    これで、このコミットを再利用できます

    あなたのコミットを押しつぶす


    # Here 4 is the number of commits that you wanna squash
    git rebase -i HEAD~4
    
    ファイルは、おそらくVim
    さて、最初のコミットをremoteそして、残りのコミットオプションをother branchに変更します.
    ファイルを保存し、新しいファイルがコミットメッセージを開きます
    あなたがコミットメッセージで何をしたいか、そして、それを保存してください.

    相違する


    git diffコマンドを実行している間、マスターファイル


    git diff my_branch_name ':!*.min.js' ':!*.js' ':!*.po' ':!*.underscore'
    

    pを引く


    git diff feature1 feature2
    

    拾い物をする


    git diff other_branch_name
    

    diffを使う


    git diff stash@{0} 
    # 0 is the number of stashed changes on the stack
    

    押しつぶすこと


    git diff HEAD~1
    

    無視している

  • あなたが比較したいファイル/フォルダのtwo branchesパスを使用する必要があります
  • git diff first_branch second_branch -- myfile.cs
    

    リセット


    ステージングと非ステージングから単一ファイルの変更を取り消す


    git checkout <your_file_name>
    

    あなたのファイルをステージングからワーキングディレクトリに移動したい


    git reset file_name
    
  • またはすべてを移動するには
  • git reset
    

    作業ディレクトリ内の最後のコミットファイル(~ 1)を維持しますが、コミットまたはステージング


    git reset HEAD~1
    

    完全にステージまたは非ステージにあるすべての変更を取り消す


    git reset --hard
    

    他のブランチ電流ブランチと他のブランチを持つ全電流ブランチ

  • は、あなたがstashにあると言いましょう
  • あなたはいくつかの変更と複数の/シングルコミット
  • を行いましたlast commitと同じようにspecific file/folder of two different branchesを作る

  • git checkout local_develop
    git reset --hard origin/develop
    # origin is the name of your remote
    

    破壊


    コミットしたくないが


    git stash
    

    あなたの同期を取り戻すには


    git stash pop
    

    あなたのLocalCount開発をリストするために


    git stash list
    

    チェリーピッキング


    注:チェリーピックコミット.チェリーをマージしないでください.

    その最も基本的な形で
  • 、あなたはあなたの現在のHead支店
  • に統合したいコミットのSHA識別子を提供するだけである必要があるだけです
  • このように、指定されたリビジョンは、現在チェックアウトされたブランチに直接コミットされます
  • git cherry-pick af02e0b
    
  • しかし、いくつかの更なる修正を加えたいならば、Gitを指示して、コミットの変更をあなたの働くコピーに加えることができます
  • git cherry-pick af02e0b --no-commit