
git clone
下載遠(yuǎn)程倉(cāng)庫(kù)到本地 git clone <版本庫(kù)的網(wǎng)址>例如遠(yuǎn)程倉(cāng)庫(kù)地址是https://git.coding.net/baxiang/gitTest.git,執(zhí)行下載到本地命令
git clone https://git.coding.net/baxiang/gitTest.git
git remote
git remote命令列出所有遠(yuǎn)程主機(jī)
$ git remote -v
origin https://git.coding.net/baxiang/gitTest.git (fetch)
origin https://git.coding.net/baxiang/gitTest.git (push)
git remote add命令用于添加遠(yuǎn)程主機(jī)
git remote add <主機(jī)名> <網(wǎng)址>
刪除遠(yuǎn)程主機(jī)
git remote rm <主機(jī)名>
git push
命令用于將本地分支的更新,推送到遠(yuǎn)程主機(jī)
git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
git push origin master
命令表示,將本地的master分支推送到origin主機(jī)的master分支。如果master不存在,則會(huì)被新建。
如果省略本地分支名,則表示刪除指定的遠(yuǎn)程分支,因?yàn)檫@等同于推送一個(gè)空的本地分支到遠(yuǎn)程分支。
$ git push origin :master
# 等同于
$ git push origin --delete master
上面命令表示刪除origin主機(jī)的master分支。如果當(dāng)前分支與遠(yuǎn)程分支之間存在追蹤關(guān)系,則本地分支和遠(yuǎn)程分支都可以省略。
$ git push origin
上面命令表示,將當(dāng)前分支推送到origin主機(jī)的對(duì)應(yīng)分支。如果當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名都可以省略。
$ git push
如果當(dāng)前分支與多個(gè)主機(jī)存在追蹤關(guān)系,則可以使用-u選項(xiàng)指定一個(gè)默認(rèn)主機(jī),這樣后面就可以不加任何參數(shù)使用git push。
$ git push -u origin master
上面命令將本地的master分支推送到origin主機(jī),同時(shí)指定origin為默認(rèn)主機(jī),后面就可以不加任何參數(shù)使用git push了。
git fetch
拉取遠(yuǎn)程主機(jī)的版本庫(kù)的更新
git fetch <遠(yuǎn)程主機(jī)名>
錯(cuò)誤處理
git pull 失敗 ,提示:fatal: refusing to [merge](https://www.centos.bz/tag/merge/) unrelated histories
其實(shí)這個(gè)問(wèn)題是因?yàn)?兩個(gè) 根本不相干的 git 庫(kù), 一個(gè)是本地庫(kù), 一個(gè)是遠(yuǎn)端庫(kù), 然后本地要去推送到遠(yuǎn)端, 遠(yuǎn)端覺(jué)得這個(gè)本地庫(kù)跟自己不相干, 所以告知無(wú)法合并
具體的方法, 一個(gè)種方法: 是 從遠(yuǎn)端庫(kù)拉下來(lái)代碼 , 本地要加入的代碼放到遠(yuǎn)端庫(kù)下載到本地的庫(kù), 然后提交上去 , 因?yàn)檫@樣的話, 你基于的庫(kù)就是遠(yuǎn)端的庫(kù), 這是一次update了
第二種方法:
使用這個(gè)強(qiáng)制的方法
git pull origin [master](https://www.centos.bz/tag/master/) --allow-unrelated-histories
后面加上 --allow-unrelated-histories , 把兩段不相干的 分支進(jìn)行強(qiáng)行合并
后面再push就可以了 [git push](https://www.centos.bz/tag/git-push/) [gitlab](https://www.centos.bz/tag/gitlab/) master:init
gitlab是別名 , 使用
Java代碼
git remote add gitlab ssh://xzh@192.168.1.91:50022/opt/gitrepo/withholdings/WithholdingTransaction
master是本地的branch名字
init是遠(yuǎn)端要推送的branch名字
本地必須要先add ,commit完了 才能推上去
關(guān)于這個(gè)問(wèn)題,可以參考http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories。
在進(jìn)行g(shù)it pull 時(shí),添加一個(gè)可選項(xiàng)
git pull origin master --allow-unrelated-histories`
常見(jiàn)問(wèn)題2
$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master