一般的な Git コマンドの概要

藏色散人
リリース: 2019-06-17 15:09:40
オリジナル
5114 人が閲覧しました

一般的な Git コマンドの概要

一般的な git コマンドは次のとおりです。

git init

新しいリポジトリをローカルに作成し、次のように入力します。プロジェクト ディレクトリで git init を実行すると、リポジトリが初期化され、現在のフォルダーの下に .git フォルダーが作成されます。

git clone

Get URL に対応するリモート Git リポジトリを作成し、ローカル コピーを作成します。

一般的な形式は git clone [url] です。

クローンされたリポジトリは URL の最後のスラッシュで始まります。具体的な名前を指定したい場合は、 git clone [url] newname.

git status

で指定できます。

リポジトリのステータスをクエリします。

git status -s: -s は短いことを意味し、-s の出力マークには 2 つの列があり、最初の列はステージング領域用で、2 番目の列はステージング領域用です。作業ディレクトリです。

git log

ブランチのコミット履歴を表示します。

git log --oneline --number : 各ログは番号を示す 1 行のみを表示します。

git log --oneline --graph: ブランチ マージ履歴をグラフィカルに表現できます。

git log Branchname can特定のブランチ ログを表示します。

git log --oneline Branch1 ^branch2、ブランチ 1 のコミットは表示できますが、ブランチ 2 のコミットは表示できません。^ は、このブランチを除外することを意味します (ブランチに引用符を追加する必要がある場合があります)。 Windows では ^branch2).

git log --decorate はタグ情報を表示します。

git log --author=[著者名] は著者の投稿履歴を指定できます。

git log -- because --before --until --after コミット時間に基づいてログをフィルターします。

--no-merges ではマージ コミットを除外できます。

git log --grep フィルターコミット情報ログに基づく: git log --grep=keywords

デフォルトでは、git log --grep --author は OR 関係、つまり、いずれかが満たされた場合に返されます。 AND 関係にしたい場合は、--all-match オプションを追加します。

git log -S: 導入された diff でフィルターします。

例: git log -SmethodName ( S とそれに続く単語を区切る間に等号がないことに注意してください)。

git log -p: 各コミットで導入されたパッチを表示します。

各送信はスナップショットであり、Git は計算します。パッチとして各送信の差分が表示されます。

別の方法は git show [SHA] です。

git log --stat: 各コミットで導入された変更の diffstat を表示します。

変更の相対情報を確認するためにも使用されます。 --stat は、-p の出力よりも単純です。

git add

コミットする前に、Git にはステージング領域 (ステージング領域) があり、そこに新しく追加されたファイルを配置したり、新しい変更を追加したりできます。コミット時に送信された変更は、ステージング領域に追加された最後の変更であり、ステージング領域に追加されたものではありません。ディスク上で Change.

git add .

は、現在の作業ディレクトリ内のすべてのファイルを再帰的に追加します。

git diff

git diff withoutparameters:

ステージングされていない変更の diff を表示します。

このコマンドは、作業ディレクトリ内の現在のファイルとステージング領域のスナップショットの差分を比較します。つまり、変更後に一時的に保存されていない変更です。

一時的に保存されたファイルと最後の送信のスナップショットとの違いを確認するには、次のコマンドを使用できます。 :

git diff --cached command.

段階的な変更の差分を表示します。

(Git 1.6.1 以降では git diff --staged も使用できます。効果は同じです)。

git diff HEAD

すべてのステージングされた変更またはステートされていない変更の差分を表示します。

つまり、稼働中のディレクトリを次と比較します。最後のコミット 期間中のすべての変更。

特定のバージョン以降に何が変更されたかを確認したい場合は、

git diff [version タグ] を使用できます。 ]

log コマンドと同様に、出力を簡素化するために --stat パラメータを使用して diff を追加することもできます。

git diff [branchA] [branchB] 2 つのブランチを比較するために使用されます。

実際には A から B へのパッチが返されますが、これは私たちが望む結果ではありません。

一般に、私たちが望む結果は、ブランチ後の変更内容です。 2 つのブランチが分離され、何が変更されましたか? コマンド:

git diff [branchA]...[branchB] が与えられます。

実際には、次のようになります: git diff $(git merge- Base [branchA] [branchB]) [branchB] 結果。

git commit

追加された変更を送信します。

git commit -m "the commit message"

git commit -a は、最初に追跡されているすべてのファイルに変更を追加してから、送信( svn の送信に少し似ていますが、最初に一時的に保存する必要はありません)。トラックのないファイルの場合は、送信を補足するために git add.

git commit --amend を実行する必要があります。現在のものと同じ親送信ノードが使用されます。ノードは新しい送信を行い、古い送信はキャンセルされます。

gitリセット

変更とコミットを元に戻します。 .

ここでの HEAD キーワードは、現在のブランチの最後にある最新のコミットを指します。つまり、リポジトリ内のブランチの最新バージョンです。

git replace HEAD: unstage files from Index と HEAD へのポインタをリセット

このコマンドは、ステージングされた状態から誤って追加されたファイルを取り出すために使用され、特定のファイルのみに対して操作できます: git replace HEAD - - filename, this - - も省略できます。

git replace --soft

HEAD を特定のコミット参照に移動します。インデックスとステージングは​​変更されません。

git replace --hard

ファイルをステージング解除し、最後のコミット以降の作業ディレクトリ内の変更をすべて元に戻します。

git replace --hard HEAD を使用してリセットします。つまり、最後のコミット後に、ステージングされたすべての変更と作業ディレクトリ内の変更がリセットされます。ディレクトリは消え、最後のコミットの状態に復元されます。

ここの HEAD は、任意のコミットの SHA-1 として書き込むことができます。

ソフトおよびハード パラメーターを使用しない Git リセットでは、実際にはデフォルトが使用されます。パラメータmixed.

概要:

git replace --mixed idはgitのHEADを変更します(つまり、コミットレコードは変更されています)が、ファイルは変更されていません変更されました (つまり、作業ツリーは変更されていません))。コミットの内容をキャンセルして追加します。

git replace --soft id.実際には、git replace --mixed id の後に、もう一度 git add を実行します。つまり、commit の内容をキャンセルします。

git replace --hard id. git HEAD とファイルを変更します。

以下のように変更スコープでソートします。ソフト (コミット) < 混合 (コミット追加) < ハード (コミット追加ローカル作業)

git revert

を元に戻して元に戻します。 commit。間違ったコミット (commit ) 名 (参照) を変更するだけで、パラメータとしてコマンドに渡すことができます。

git revert HEAD: 最新の送信を元に戻します。

git revert は作成します。新しいリバース送信 (パラメータ -n を渡すと、Git にまだコミットしないように指示できます)

git rm

git rm ファイル:ファイルをステージング領域から削除し、移動します。 作業ディレクトリを削除します。

git rm --cached: ファイルをステージング領域から削除しますが、作業ディレクトリには残しておきます。

git rm --cached は機能的に git replace HEAD と同等で、キャッシュ領域をクリアしますが、作業ディレクトリ ツリーは変更されません。

git clean

git clean は作業ディレクトリ File.

からトラックを削除しません。通常のパラメータは git clean -df:

です。 -d はディレクトリを同時に削除することを意味し、-f は強制を意味します。 git 設定ファイル clean.requireForce=true で -f が追加されていない場合、clean は実行を拒否するためです。 ## git rm - - キャッシュされた orig; mv orig new; git add new

git stash

現在の変更をスタックにプッシュします。

git stash は、現在の変更をスタックに置きます。ディレクトリとインデックス内のすべての変更 (ただし、追跡されていないファイルは含まれません) がスタックにプッシュされ、クリーンな作業状態が残ります。最後の最新の送信。

git stash list will display The list of this stack.

git stash apply: stash (stash@{0}) 内の前のアイテムを取り出し、現在の作業ディレクトリ。 git stash apply stash@{1} など、他のプロジェクトを指定することもできます。

適用中に stash 内の項目を削除したい場合は、次のように指定できます。 git stash Pop

で stash プロジェクトを削除します:

git stash Drop: 前のプロジェクトを削除するか、パラメータを指定して指定したプロジェクトを削除できます。

git stash clear: すべてのプロジェクトを削除します。

git ブランチ

git ブランチは、ブランチの一覧表示、ブランチの作成、削除に使用できます。 1 つのコミット。

git ブランチ: すべてのローカル ブランチをリストします。現在のブランチにはアスタリスクが付けられます。

git ブランチ (ブランチ名): 新しいブランチを作成します (ブランチの作成時にこれを使用すると、ブランチは最後の送信に基づいて作成されます)。

git Branch -d (ブランチ名): ブランチを削除します。

リモート ブランチを削除します:

git Push (リモート名):(ブランチ名): リモート ブランチを削除します。

これは、完全なコマンド フォームが次のとおりであるためです。

git Push remote-name local-branch:remote-branch

そして、ここの local-branch の部分は空です。リモートブランチを削除することを意味します

git checkout

git checkout (ブランチ名)

ブランチに切り替えます。

git checkout -b (ブランチ名): 作成して切り替えます。新しいブランチに追加します。

このコマンドは、git Branch newbranch と git checkout newbranch を組み合わせた結果です。

Checkout には別の機能があります: ローカルの変更を置き換える:

git checkout - -

このコマンドは、作業ディレクトリ内のファイルを HEAD 内の最新の内容に置き換えます。ステージング領域に追加された変更や新しいファイルは影響を受けません。

注: git checkout filename は、一時的に保存およびコミットされていないファイル内のすべての変更を削除します。この操作は元に戻せません。

git merge

ブランチを現在のブランチにマージします。

git merge [エイリアス]/[ブランチ]

リモート ブランチを現在のブランチにマージします。

競合が発生し、手動で変更する必要がある場合は、git mergetool を使用できます。

競合を解決するときは、git diff を使用できます。競合が解決されたら、git add を使用して追加します。これは、競合が解決されたことを意味します。

git tag

履歴内のポイントを import としてタグ付けします。

コミットされます 永続的なブックマークを作成するには、通常、リリース バージョンをリリースするか何かを出荷した後にタグを追加します。

例: git tag v1.0

git tag -a v1 .0, -a パラメーターを使用すると、情報を追加できます。つまり、注釈付きのタグを作成できます。

git tag -a コマンドを実行すると、Git はタグを入力するためのエディターを開きます。 information.

commit SHA を使用して過去の送信にタグを付けることができます:

git tag -a v0.9 XXXX

プッシュ時はそうではありません タグを含めたい場合は、プッシュ時に --tags パラメーターを追加できます。

フェッチ時、ブランチ HEAD で到達できるタグは自動的にフェッチされ、到達できないタグはブランチ ヘッドから到達可能なタグはスキップされます。すべてのタグが含まれていることを確認したい場合は、--tags オプションを追加する必要があります。

git リモート

リモート リポジトリ エイリアスのリスト、追加、および削除。

毎回完全な URL を使用する必要がないため、Git はリモート リポジトリ URL ごとにエイリアスを作成し、git リモートを使用してリストを管理します。

git リモート: リモート エイリアスをリストします。

プロジェクトのクローンを作成すると、Git は元の URL を自動的に追加し、エイリアスはorigin.

## と呼ばれます。 # git remote - v: 各エイリアスに対応する実際の URL を確認できます。

git Remote add [エイリアス] [url]: 新しいリモート リポジトリを追加します。

git Remote rm [エイリアス] ]: 既存のリモート エイリアスを 1 つ削除します。

git remote rename [old-alias] [new-alias]: 名前を変更します。

git remote set-url [alias] [url]: URL を更新しますはい -push パラメーターと fetch パラメーターを追加して、同じエイリアスに異なるアクセス アドレスを設定します。

git fetch

新しいブランチとデータをダウンロードしますリモート リポジトリから。

git fetch [エイリアス] を使用して特定のリモート リポジトリを取得することも、git fetch --all を使用してすべてのリポジトリを取得することもできます。

fetch はすべてのリポジトリを取得します。ローカルにデータがないもの、削除されたすべてのブランチはリモート ブランチと呼ぶことができ、ローカル ブランチと同じです (差分、ログなどを表示でき、他のブランチにマージすることもできます)。ただし、Git はそうではありません。

git pull

リモート リポジトリからフェッチし、現在のブランチにマージしてみます。

pull == fetch merge FETCH_HEAD

Git pull は最初に git fetch を実行し、次に git merge を実行し、フェッチされたブランチのヘッドを現在のブランチにマージします。このマージ操作により新しいコミットが生成されます。

--rebase パラメータを使用すると、git rebase が実行されて、元の git merge が置き換えられます。

git rebase

--rebase はマージされた送信を生成しません。すべてのローカル送信を一時的にパッチとして保存し、「.git/rebase」ディレクトリに配置し、現在のブランチを最新のブランチ チップに更新します。パッチをブランチに保存しました。

リベース プロセス中に競合が発生する可能性があります。Git はリベースを停止し、競合を解決できるようにします。競合を解決した後、 git add を使用してコンテンツを更新します。その後、必要はありませんコミットを実行するには、次のようにするだけです。

git rebase -- continue は残りのパッチの作成を続行します。

git rebase --abort はリベースを終了し、現在のブランチはリベースの前の状態に戻ります。 .

git Push

新しいブランチとデータをリモート リポジトリにプッシュします。

git Push [エイリアス] [ [branch]

は、現在のブランチをエイリアス上の [branch] ブランチにマージします。ブランチが既に存在する場合は更新されます。存在しない場合は、ブランチが追加されます。

複数の人が同じリモート リポジトリにコードをプッシュする場合、Git はまずプッシュしようとしているブランチで git log を実行し、サーバー上のブランチの現在の先端が履歴に表示されるかどうかを確認します。ローカル履歴でサーバーのヒントに移動すると、ローカル コードが最新ではないことを意味します。Git はプッシュを拒否し、最初にフェッチしてマージし、次にプッシュできるようにします。これにより、全員の変更が確実に考慮されます。 .

git reflog

Git reflog は、reflog を管理するコマンドです。Reflog は、次のような参照の変更を記録するために git によって使用されるメカニズムです。ブランチの変更または HEAD 参照の変更を記録します。

git reflog が参照を指定しない場合、デフォルトで HEAD の reflog がリストされます。

HEAD@{0} は HEAD の現在の値を表します。 、HEAD@{3} は、3 つの変更前の HEAD の値を表します。

Git は、HEAD に対応する reflog ファイルに変更を記録します。パスは .git/logs/HEAD です。ブランチは、refs ディレクトリの下のサブディレクトリの .git/logs/ に配置されます。

特殊記号:

^ は親の送信を表します。送信に複数の親の送信がある場合、次の ^ を使用して親の送信の数を指定できます: ^ は ^1 と同等です。

~ は次のと同等です連続 ^ .

git init

新しいリポジトリをローカルに作成し、プロジェクト ディレクトリに入り、git init を実行すると、リポジトリが初期化されて作成されます現在のフォルダーにある git file.

git clone

URL に対応するリモート Git リポジトリを取得し、ローカル コピーを作成します。

一般的な形式は git clone [url].

クローンされたリポジトリには、URL の最後のスラッシュの後に名前が付けられます。フォルダーを作成します。特定の名前を指定したい場合は、次のように指定できます。 git clone [url ] newname が指定されました。

git status

リポジトリのステータスをクエリします。

git status - s: -s は short を意味します。 -s の出力マークには 2 つの列があり、最初の列はステージング領域用で、2 番目の列は作業ディレクトリ用です。

git log

ブランチのコミット履歴を表示します。

git log --oneline --number: 各ログには 1 行のみが表示され、番号が表示されます。

git log -- oneline --graph: ブランチのマージ履歴をグラフィカルに表示できます。

git log Branchname は、特定のブランチのログを表示できます。

git log --oneline Branch1 ^branch2 , ブランチ 1 は表示できますが、ブランチ 2 は表示できません。 ^ はこのブランチを除外することを意味します (Windows では ^branch2 に引用符を追加する必要がある場合があります)。

git log --decorate はタグ情報を表示します.

git log --author=[著者名] は、著者の提出履歴を指定できます。

git log --since --before --until --after 提出時間に基づいてログをフィルタリングします.

--no-merges はマージ コミットを除外できます。

git log --grep コミット情報に基づいてログをフィルタリングします: git log --grep=keywords

デフォルトでは, git log - -grep --author は OR 関係、つまり、いずれか 1 つが満たされればそれが返されますが、AND 関係にしたい場合は、--all-match オプションを追加できます。

git log -S: 導入された diff でフィルターします。

例: git log -SmethodName (S と次の単語の間に等号がないことに注意してください)。

git log -p: 各コミットで導入されたパッチを表示します。

各送信はスナップショットです。Git は各送信の差分を計算し、パッチとして表示します。

別の方法git show [SHA ].

git log --stat: 各コミットで導入された変更の diffstat を表示します。

これは、変更の相対情報を確認するためにも使用されます。 --stat は -p Some.

よりも簡単です。

git add

     在提交之前,Git有一个暂存区(staging area),可以放入新添加的文件或者加入新的改动. commit时提交的改动是上一次加入到staging area中的改动,而不是我们disk上的改动.

     git add .

     会递归地添加当前工作目录中的所有文件.

 

git diff

     不加参数的git diff:

     show diff of unstaged changes.

     此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容.

 

     若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用:

     git diff --cached 命令.

     show diff of staged changes.

     (Git 1.6.1 及更高版本还允许使用 git diff --staged,效果是相同的).

 

     git diff HEAD

     show diff of all staged or unstated changes.

     也即比较woking directory和上次提交之间所有的改动.

 

     如果想看自从某个版本之后都改动了什么,可以用:

     git diff [version tag]

     跟log命令一样,diff也可以加上--stat参数来简化输出.

 

     git diff [branchA] [branchB]可以用来比较两个分支.

     它实际上会返回一个由A到B的patch,不是我们想要的结果.

     一般我们想要的结果是两个分支分开以后各自的改动都是什么,是由命令:

     git diff [branchA]…[branchB]给出的.

     实际上它是:git diff $(git merge-base [branchA] [branchB]) [branchB]的结果.

 

 

git commit

追加された変更を送信します。

git commit -m "the commit message"

git commit -a は、最初に追跡されているすべてのファイルに変更を追加してから、送信( svn の送信に少し似ていますが、最初に一時的に保存する必要はありません)。トラックのないファイルの場合は、送信を補足するために git add.

git commit --amend を実行する必要があります。現在のものと同じ親送信ノードが使用されます。ノードは新しい送信を行い、古い送信はキャンセルされます。

gitリセット

変更とコミットを元に戻します。 .

ここでの HEAD キーワードは、現在のブランチの最後にある最新のコミットを指します。つまり、リポジトリ内のブランチの最新バージョンです。

git replace HEAD: unstage files from Index と HEAD へのポインタをリセット

このコマンドは、ステージングされた状態から誤って追加されたファイルを取り出すために使用され、特定のファイルのみに対して操作できます: git replace HEAD - - filename, this - - も省略できます。

git replace --soft

HEAD を特定のコミット参照に移動します。インデックスとステージングは​​変更されません。

git replace --hard

ファイルをステージング解除し、最後のコミット以降の作業ディレクトリ内の変更をすべて元に戻します。

git replace --hard HEAD を使用してリセットします。つまり、最後のコミット後に、ステージングされたすべての変更と作業ディレクトリ内の変更がリセットされます。ディレクトリは消え、最後のコミットの状態に復元されます。

ここの HEAD は、任意のコミットの SHA-1 として書き込むことができます。

ソフトおよびハード パラメーターを使用しない Git リセットでは、実際にはデフォルトが使用されます。パラメータmixed.

概要:

git replace --mixed idはgitのHEADを変更します(つまり、コミットレコードは変更されています)が、ファイルは変更されていません変更されました (つまり、作業ツリーは変更されていません))。コミットの内容をキャンセルして追加します。

git replace --soft id.実際には、git replace --mixed id の後に、もう一度 git add を実行します。つまり、commit の内容をキャンセルします。

git replace --hard id. git HEAD とファイルを変更します。

以下のように変更スコープでソートします。ソフト (コミット) < 混合 (コミット追加) < ハード (コミット追加ローカル作業)

git revert

を元に戻して元に戻します。 commit。間違ったコミット (commit ) 名 (参照) を変更するだけで、パラメータとしてコマンドに渡すことができます。

git revert HEAD: 最新の送信を元に戻します。

git revert は作成します。新しいリバース送信 (パラメータ -n を渡すと、Git にまだコミットしないように指示できます)

git rm

git rm ファイル:ファイルをステージング領域から削除し、移動します。 作業ディレクトリを削除します。

git rm --cached: ファイルをステージング領域から削除しますが、作業ディレクトリには残しておきます。

git rm --cached は機能的に git replace HEAD と同等で、キャッシュ領域をクリアしますが、作業ディレクトリ ツリーは変更されません。

git clean

git clean は作業ディレクトリ File.

からトラックを削除しません。通常のパラメータは git clean -df:

です。 -d はディレクトリを同時に削除することを意味し、-f は強制を意味します。 git 設定ファイル clean.requireForce=true で -f が追加されていない場合、clean は実行を拒否するためです。 ## git rm - - キャッシュされた orig; mv orig new; git add new

git stash

現在の変更をスタックにプッシュします。

git stash は、現在の変更をスタックに置きます。ディレクトリとインデックス内のすべての変更 (ただし、追跡されていないファイルは含まれません) がスタックにプッシュされ、クリーンな作業状態が残ります。最後の最新の送信。

git stash list will display The list of this stack.

git stash apply: stash (stash@{0}) 内の前のアイテムを取り出し、現在の作業ディレクトリ。 git stash apply stash@{1} など、他のプロジェクトを指定することもできます。

適用中に stash 内の項目を削除したい場合は、次のように指定できます。 git stash Pop

で stash プロジェクトを削除します:

git stash Drop: 前のプロジェクトを削除するか、パラメータを指定して指定したプロジェクトを削除できます。

git stash clear: すべてのプロジェクトを削除します。

git ブランチ

git ブランチは、ブランチの一覧表示、ブランチの作成、削除に使用できます。 1 つのコミット。

git ブランチ: すべてのローカル ブランチをリストします。現在のブランチにはアスタリスクが付けられます。

git ブランチ (ブランチ名): 新しいブランチを作成します (ブランチの作成時にこれを使用すると、ブランチは最後の送信に基づいて作成されます)。

git Branch -d (ブランチ名): ブランチを削除します。

リモート ブランチを削除します:

git Push (リモート名):(ブランチ名): リモート ブランチを削除します。

これは、完全なコマンド フォームが次のとおりであるためです。

git Push remote-name local-branch:remote-branch

そして、ここの local-branch の部分は空です。リモートブランチを削除することを意味します

git checkout

git checkout (ブランチ名)

ブランチに切り替えます。

git checkout -b (ブランチ名): 作成して切り替えます。新しいブランチに追加します。

このコマンドは、git Branch newbranch と git checkout newbranch を組み合わせた結果です。

Checkout には別の機能があります: ローカルの変更を置き換える:

git checkout - -

このコマンドは、作業ディレクトリ内のファイルを HEAD 内の最新の内容に置き換えます。ステージング領域に追加された変更や新しいファイルは影響を受けません。

注: git checkout filename は、一時的に保存およびコミットされていないファイル内のすべての変更を削除します。この操作は元に戻せません。

git merge

ブランチを現在のブランチにマージします。

git merge [エイリアス]/[ブランチ]

リモート ブランチを現在のブランチにマージします。

競合が発生し、手動で変更する必要がある場合は、git mergetool を使用できます。

競合を解決するときは、git diff を使用できます。競合が解決されたら、git add を使用して追加します。これは、競合が解決されたことを意味します。

git tag

履歴内のポイントを import としてタグ付けします。

コミットされます 永続的なブックマークを作成するには、通常、リリース バージョンをリリースするか何かを出荷した後にタグを追加します。

例: git tag v1.0

git tag -a v1 .0, -a パラメーターを使用すると、情報を追加できます。つまり、注釈付きのタグを作成できます。

git tag -a コマンドを実行すると、Git はタグを入力するためのエディターを開きます。 information.

commit SHA を使用して過去の送信にタグを付けることができます:

git tag -a v0.9 XXXX

プッシュ時はそうではありません タグを含めたい場合は、プッシュ時に --tags パラメーターを追加できます。

フェッチ時、ブランチ HEAD で到達できるタグは自動的にフェッチされ、到達できないタグはブランチ ヘッドから到達可能なタグはスキップされます。すべてのタグが含まれていることを確認したい場合は、--tags オプションを追加する必要があります。

git リモート

リモート リポジトリ エイリアスのリスト、追加、および削除。

毎回完全な URL を使用する必要がないため、Git はリモート リポジトリ URL ごとにエイリアスを作成し、git リモートを使用してリストを管理します。

git リモート: リモート エイリアスをリストします。

プロジェクトのクローンを作成すると、Git は元の URL を自動的に追加し、エイリアスはorigin.

## と呼ばれます。 # git remote - v: 各エイリアスに対応する実際の URL を確認できます。

git Remote add [エイリアス] [url]: 新しいリモート リポジトリを追加します。

git Remote rm [エイリアス] ]: 既存のリモート エイリアスを 1 つ削除します。

git remote rename [old-alias] [new-alias]: 名前を変更します。

git remote set-url [alias] [url]: URL を更新しますはい -push パラメーターと fetch パラメーターを追加して、同じエイリアスに異なるアクセス アドレスを設定します。

git fetch

新しいブランチとデータをダウンロードしますリモート リポジトリから。

git fetch [エイリアス] を使用して特定のリモート リポジトリを取得することも、git fetch --all を使用してすべてのリポジトリを取得することもできます。

fetch はすべてのリポジトリを取得します。ローカルにデータがないもの、削除されたすべてのブランチはリモート ブランチと呼ぶことができ、ローカル ブランチと同じです (差分、ログなどを表示でき、他のブランチにマージすることもできます)。ただし、Git はそうではありません。

git pull

リモート リポジトリからフェッチし、現在のブランチにマージしてみます。

pull == fetch merge FETCH_HEAD

Git pull は最初に git fetch を実行し、次に git merge を実行し、フェッチされたブランチのヘッドを現在のブランチにマージします。このマージ操作により新しいコミットが生成されます。

--rebase パラメータを使用すると、git rebase が実行されて、元の git merge が置き換えられます。

git rebase

     --rebase不会产生合并的提交,它会将本地的所有提交临时保存为补丁(patch),放在”.git/rebase”目录中,然后将当前分支更新到最新的分支尖端,最后把保存的补丁应用到分支上.

     rebase的过程中,也许会出现冲突,Git会停止rebase并让你解决冲突,在解决完冲突之后,用git add去更新这些内容,然后无需执行commit,只需要:

     git rebase --continue就会继续打余下的补丁.

     git rebase --abort将会终止rebase,当前分支将会回到rebase之前的状态.

 

git push

     push your new branches and data to a remote repository.

     git push [alias] [branch]

     将会把当前分支merge到alias上的[branch]分支.如果分支已经存在,将会更新,如果不存在,将会添加这个分支.

     如果有多个人向同一个remote repo push代码, Git会首先在你试图push的分支上运行git log,检查它的历史中是否能看到server上的branch现在的tip,如果本地历史中不能看到server的tip,说明本地的代码不是最新的,Git会拒绝你的push,让你先fetch,merge,之后再push,这样就保证了所有人的改动都会被考虑进来.

 

git reflog

     git reflog是对reflog进行管理的命令,reflog是git用来记录引用变化的一种机制,比如记录分支的变化或者是HEAD引用的变化.

     当git reflog不指定引用的时候,默认列出HEAD的reflog.

     HEAD@{0}代表HEAD当前的值,HEAD@{3}代表HEAD在3次变化之前的值.

     git会将变化记录到HEAD对应的reflog文件中,其路径为.git/logs/HEAD, 分支的reflog文件都放在.git/logs/refs目录下的子目录中.

 

 

特殊符号:

     ^代表父提交,当一个提交有多个父提交时,可以通过在^后面跟上一个数字,表示第几个父提交: ^相当于^1.

     ~相当于连续的个^.

更多Git相关技术文章,请访问Git使用教程栏目!

以上が一般的な Git コマンドの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート