リモートgitの
投与を容易にするために、Gitのリモートリポジトリは、各倉庫の名前を指定しなければならないことを要求します。投与を容易にするために、Gitのリモートリポジトリは、各倉庫の名前を指定しなければならないことを要求します。
- gitのリモート名] [ビューロフト
git remote
私たちはクローン後のプロジェクトは、リモートリポジトリのデフォルトの原点が表示されます
- gitのリモート-v / - バージョン[情報]倉庫を表示します
URLは、詳細なエイリアス名と対応するアドレスを示しています。
以下のような:
origin git@github.com:zhaoJoeyuan/TestTwo.git (fetch)
origin git@github.com:zhaoJoeyuan/TestTwo.git (push)
- [リモートリポジトリを追加]追加リモートgitの
コマンド:
git remote add name url
以下のような:
git remote add joey git@github.com:zhaoJoeyuan/Test.git
あなたが追加した後、gitのリモート-vで見ます
joey git@github.com:zhaoJoeyuan/Test.git (fetch)
joey git@github.com:zhaoJoeyuan/Test.git (push)
- gitのリモートリモート・データベースを追加し、[削除]削除
命令:git remote remove name
- GI遠隔ショー[指定倉庫の詳細を見ます]
コマンド:
git remote show 仓库名
gitのプッシュ
gitのプッシュコマンドは、ローカルブランチを更新するために使用され、リモートリポジトリにプッシュ。その形式は、gitのプルコマンドに似ています。
Gitのブランチプッシュ/プルシーケンスを<起源>書かれている:<DEST>プッシュし、それは確かに逆引き、それがリモートソースを引っ張って、ネイティブプッシュの源です。
1.完全な言葉遣い
コマンド:
git push <远程仓库名> <本地分支名>:<远程分支名>
分岐プッシュ文言の順序があることに注意してください。<起源>:<ローカルブランチ>押す<ローカルブランチ>、とのgit::<リモートブランチを> <DEST>、それはgitのプル<リモートブランチ>です。
以下のような:
git push origin master2master2
リモートブランチが存在しない場合は、リモートのmasterブランチライブラリにmasterブランチをプッシュするローカルが作成されます。
2.ローカルブランチの名前を省略
あなたは地元の支店名を省略した場合、これは、リモートブランチに空のローカル枝を押すと等価であるので、その後、指定されたリモートブランチを削除します。最初の分岐が(原点/マスター)が削除されていないことに注意してください、
コマンド:リモートブランチを削除します
git push origin :远程分支名 # origin后面有一个空格
或 git push origin --delete :远程分支名
或 git push origin :远程分支名 --delete
3.リモートブランチ名を省略
リモートブランチ名が省略されている場合は、ローカルブランチをプッシュ追跡(トラッキング関係)リモートブランチ、一般的に、同じ名前の二つの枝に存在しています。リモートブランチが存在しない場合は、自動的にブランチを作成します。
以下のような:
git push origin master
上記のコマンドを表し、マスターブランチは、マスター分岐元倉庫にプッシュ。後者が存在しない場合、それは新しいです。
現在のブランチおよびリモートブランチの関係を追跡するために存在していなかった上に、下流/上流にある誰もではありません。
4.完全に省略します
現在のトラックが一つだけのブランチブランチを持っている場合は、リポジトリ名を省略することができます。
git push
現在のトラックの関係は、複数のブランチ倉庫に存在している場合は、後であなたが任意のパラメータのGitのプッシュせずに使用できるように、デフォルトの倉庫を指定するには、-uオプションを使用することができます。
git push -u origin master
上記のコマンドは、バックパラメータをプッシュする任意のgitのなく使用できる、デフォルトの倉庫としての原点を指定して、masterブランチのoriginckにプッシュされます。
パラメータなしのgit pushは、デフォルトでは唯一の簡単な方法と呼ばれている現在のブランチをプッシュ。また、マッチングの方法があり、対応するリモートブランチのローカルブランチの全てをプッシュする必要があります。Gitのバージョン2.0より前、マッチング法デフォルトでは、今シンプルにデフォルト設定されています。この設定を変更したい場合は、gitのconfigコマンドを使用することができます。
$ git config --global push.default matching
# 或者
$ git config --global push.default simple
別のケースでは、関係なく、対応するリモートブランチがあるかどうかの、すべての支部は、--allオプションを使用する必要があり、リモートリポジトリにプッシュ。
$ git push --all origin
上記のコマンドは、すべての支店が原点倉庫にプッシュされていると述べました。
リモートリポジトリのバージョンがローカルのバージョンよりも新しい場合、Gitのプッシュはgitのを行うために必要なときに、ローカルの違いをマージプル文句を言うと、リモートリポジトリにプッシュされます。あなたがプッシュする必要があれば、この時点で、あなたは--forceオプションを使用することができます。
$ git push --force origin
リモートリポジトリに更新されたバージョンが得られ、上記のコマンドの--forceオプションは、覆われています。あなたは非常にこれを行うには決定されない限り、または--forceオプションを利用するのは避けるべきです。
最後に、Gitのプッシュは--tagsオプションがない限り、ラベル(タグ)をプッシュしないであろう。
$ git push origin --tags
Gitはローカルプルにリモートからの更新情報を取得します
それはローカルリポジトリではなく、作業ディレクトリへのリモートからの最新バージョンを取得することで、自動的にマージされません。
フェッチの理解
キーフェッチ理解は、それがFETCH_HEADを理解することです。
FETCH_HEADは意味:サーバー上のブランチの最新のステータスを」。
フェッチ動作は、各項目が「各行がリモートサーバのブランチに対応.Git / FETCH_HEADファイル、。FETCH_HEAD現在の分岐点に格納されているリストが存在するであろうFETCH_HEAD、に対応するファイルの最初の行で行わその枝。
一般的に言えば、2つのケースがあります。
- 明示的にリモートブランチ、デフォルトのマスターFETCH_HEADとしてリモートブランチを指定しない場合。
- リモートブランチを指定した場合、このようなリモートブランチはFETCH_HEADます。
Gitは、すべてのローカルリポジトリを取得し、リモートリポジトリの更新に<リモートリポジトリ名>をフェッチ
コマンド:
git fetch <远程仓库名>
リモートリポジトリのすべてのブランチはローカルドラッグを取得します
支店名なしで取得後、それはすべての倉庫ブランチです
注意:「リモートリポジトリ名/支店名」の形式で行われたリモートブランチを使用するローカル倉庫で読みます。このような原点マスター倉庫として、起源/マスター読み取りを使用します。
更新の特定の分岐を取得し、あなたは枝の名前を指定することができます
コマンド:
git fetch <远程仓库名> <分支名>
git fetch <远程仓库名> <远程分支名>:<本地分支名>
一般的な使用法は、4つのgitのフェッチが含まれます。
- フェッチ1.git
コマンド:
git fetch
このステップでは、実際には2つのキーアクションを行います:
- ローカルブランチのすべてのリモートブランチを作成し、更新します。
- 自動的に「新規参入」を取得しますリモートブランチのブランチをフェッチ、リモートサーバーのmasterブランチの現在のFETCH_HEADブランチ(最初の場合は、上記述べた)これは、ことに留意すべきであるが、設定し、別のを押します
- 起源をフェッチ2.git
コマンド:
git fetch origin
上記のように機能が、手動でリモートを指定します
- 起源をフェッチ3.git <リモートブランチ名>
コマンド:
git fetch origin <远程分支名>
このコマンドは、存在する場合128へのリターンが存在しない場合、例外がスローされ、0を返し、存在支社リモートブランチのリモートリポジトリをテストするために使用することができます。
- gitの原点をフェッチ<リモートブランチ名>:<ローカルブランチ名>コマンドを実行します。
git fetch origin <本地分支名>:<远程分支名>
ローカル<ローカルブランチ名>分岐が存在しない場合、それは自動的に新しい<ローカルブランチ名>ブランチを作成し、ローカルブランチ<ローカルブランチ名>に作成されます(ただし、そのブランチに切り替わりません)リモート使用<リモートブランチ名>そこにローカル<リモートブランチ名>支店があり、されている場合はfast forward
、自動的に二つのブランチをマージし、それ以外の場合は、上記の操作を防ぐことができます。
<ローカルブランチ名>と<リモートブランチ名>は、同じ名前の、これは同等ですgit fetch origin :<远程分支名>
gitのプル
最新バージョンでは、リモートからローカル、および自動マージの低水準から入手可能であり、ほとんどはまだマージを決定するために、プログラマが必要です
完全なコマンド
git pull <远程仓库名> <远程分支名>:<本地分支名>
リモートブランチ名の接頭辞が原点/(接頭エイリアス)なしで、競合があることに注意してください、競合が修正することができたときに、変更が追加を完了し、コミット
非完全、現在の<ローカルブランチ名>省略されています
リモートブランチが現在の分岐と組み合わされる場合、結腸の一部を省略してもよいです。
git pull origin <远程分支名>
それは、原点/ <リモートブランチ名>ブランチを取得し、上記のコマンドを表しており、その後、現在のブランチにマージ。要するに、これは、最初のgitのフェッチを行うGitのマージを行うことと等価です。
gitのプル&gitのフェッチ
git pull origin <远程分支名>
等价于
git fetch origin git fetch origin/<远程分支名>
二つの支店名を省略
トレース支店やリモートブランチの存在との間に電流が関係する場合は、gitのプルは、リモートブランチ名を省略する。
git pull origin
これは、マージ(リモート追跡ブランチ)「ブランチを追跡」現在のローカル分岐元自動倉庫に対応し、上記のコマンドを表します。
現在のトラックが一つだけのブランチブランチを持っている場合でも、リモートリポジトリ名を省略することができます。
git pull
二つの方法で取り扱わリモートブランチを取得した後:
- 1.ローカルブランチで直接、新しいブランチベースのリモートを作成
コマンド:
git checkout -b <本地分支名> origin/<远程分支名>
次のように上記の文言は、完全な、他の製剤です。
git checkout -b <本地分支名>
#基于<本地master分支>而创建
git checkout -b <本地分支名> orgin # 基于<远程master分支>而创建 git checkout -b <本地分支名> <本地分支名2> # 基于<本地分支2>而创建
リモート作成がorgin(リモートリポジトリ名)を取る必要があります/プレフィックス、または作成するために、地元の支店に基づいており、そうでない場合は、デフォルトのマスターが作成された支店名(リモートマスターすることができ、それはまた、ローカルマスターすることができとともに、そこにあれば、原点のプレフィックスを参照します)
- 2.git、コマンドまたはgitのリベースコマンドをマージローカルブランチにリモートブランチをマージします。
コマンド:
git merge origin/master
git rebase origin/master
(現在のブランチ)は、ローカルブランチにリモートブランチをマージ
Gitは手動でトレース関係を作成します。
いくつかのケースでは、Gitは自動的にローカルブランチとリモートブランチの間で、関係のトラッキング(追跡)を確立します。たとえば、ときにgitのクローン、デフォルトのリモートリポジトリ、追跡関係のすべての支店で同じ名前のローカルブランチは、それは、ローカルのmasterブランチ自動「トラック」起源/マスターブランチです。
git branch - -set-upstream master origin/next
上記のコマンドは、原点/次の分岐を追跡するためのmasterブランチを指定します。
トレース支店やリモートブランチの存在との間に電流が関係する場合は、gitのプルは、リモートブランチ名を省略する。git pull origin
これは、マージ(リモート追跡ブランチ)「ブランチを追跡」現在のローカル分岐元自動倉庫に対応し、上記のコマンドを表します。
現在のトラックが一つだけのブランチブランチを持っている場合でも、リモートリポジトリ名を省略することができます。git pull
上記のコマンドは、現在のブランチが自動的に1つのトラックのみのブランチにマージされると述べました。
合併はモードをリベース必要がある場合は、--rebaseオプションを使用することができます。
git pull - -rebase <远程仓库名> <远程分支名>:<本地分支名>
リモートブランチを引っ張ったときに、デフォルトで、gitのプルをリモートリポジトリのブランチを削除した場合、それは対応するローカルブランチを削除しません。これは、リモートリポジトリを操作する他の人に、gitのプルに結果が無意識のうちにローカルブランチを削除し、予防することです。
ただし、この動作を変更することができ、-pパラメータを追加し、ローカルに削除されたリモートブランチを削除します。
$ git pull -p
# 等同于下面的命令
$ git fetch - -prune origin
$ git fetch -p