查看當(dāng)前項(xiàng)目ip等信息:cat .git/config
編輯外網(wǎng)ip:vim .git/config
修改外網(wǎng)ip:點(diǎn)擊 'I’修改骄呼,?‘esc’ 退出編輯历等, ?‘:wq’ 保存并退出
npm install -g cnpm --registry=https://registry.npm.taobao.org?安裝淘寶鏡像
一 德澈、本地項(xiàng)目推送到空遠(yuǎn)程倉(cāng)庫(kù)
master分支:
Git init
Git add .
Git commit -m ‘第一次提交’
Git?remote add origin https://github.com/xxx.git(倉(cāng)庫(kù)地址)
Git push -u origin master (首次推送)(下次git push origin master)
方法二:
1缸逃、切換遠(yuǎn)程倉(cāng)庫(kù)地址:
方式一:修改遠(yuǎn)程倉(cāng)庫(kù)地址
【git remote set-url origin URL】 更換遠(yuǎn)程倉(cāng)庫(kù)地址休讳,URL為新地址。
方式二:先刪除遠(yuǎn)程倉(cāng)庫(kù)地址另锋,然后再添加
【git remote rm origin】 刪除現(xiàn)有遠(yuǎn)程倉(cāng)庫(kù)
【git remote add origin url】添加新遠(yuǎn)程倉(cāng)庫(kù)
2、【git remote -v 】查看遠(yuǎn)程倉(cāng)庫(kù)的地址
錯(cuò)誤提示:
更改倉(cāng)庫(kù)地址時(shí)報(bào)錯(cuò)??fatal: remote origin already exists.?
執(zhí)行:
? ? 1狭归、先輸入$ git remote rm origin
????2夭坪、再輸入$ git remote add origin http://倉(cāng)庫(kù)地址? ?就不會(huì)報(bào)錯(cuò)了!
????3过椎、如果輸入$ git remote rm origin 還是報(bào)錯(cuò)的話室梅,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig文件的內(nèi)容
??? 4、找到你的github的安裝路徑疚宇,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc
??? 5亡鼠、找到一個(gè)名為gitconfig的文件,打開它把里面的[remote "origin"]那一行刪掉就好了敷待!
git branch --set-upstream 本地關(guān)聯(lián)遠(yuǎn)程分支
最近使用git pull的時(shí)候多次碰見下面的情況:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> release
其實(shí)间涵,輸出的提示信息說的還是比較明白的。
使用git在本地新建一個(gè)分支后榜揖,需要做遠(yuǎn)程分支關(guān)聯(lián)勾哩。如果沒有關(guān)聯(lián),git會(huì)在下面的操作中提示你顯示的添加關(guān)聯(lián)举哟。
關(guān)聯(lián)目的是在執(zhí)行g(shù)it pull, git push操作時(shí)就不需要指定對(duì)應(yīng)的遠(yuǎn)程分支思劳,你只要沒有顯示指定,git pull的時(shí)候妨猩,就會(huì)提示你潜叛。
解決方法就是按照提示添加一下唄:
git branch --set-upstream-to=origin/remote_branch? your_branch
其中,origin/remote_branch是你本地分支對(duì)應(yīng)的遠(yuǎn)程分支壶硅;your_branch是你當(dāng)前的本地分支威兜。
1、failed to push some refs?to?https://github.com/guyibang/TEST2.git(在創(chuàng)建倉(cāng)庫(kù)的時(shí)候自動(dòng)創(chuàng)建了readme森瘪,而本地沒有)
執(zhí)行:git pull --rebase origin master? 后再推送
2牡属、還有就是你上線有文件需要進(jìn)行運(yùn)程本地連接
git branch --set-upstream-to=origin/<branch> ?master
3、報(bào)錯(cuò)本地分支與遠(yuǎn)程分支強(qiáng)制合并:
git pull origin master --allow-unrelated-histories? (強(qiáng)制合并)
二 扼睬、 本地分支提交到遠(yuǎn)程已有分支步驟:https://blog.csdn.net/huangjw_806/article/details/78297851
git branch 分支名
例如:git branch dev逮栅,這條命令是基于當(dāng)前分支創(chuàng)建的本地分支,假設(shè)當(dāng)前分支是master(遠(yuǎn)程分支)窗宇,則是基于master分支創(chuàng)建的本地分支dev措伐。
切換到本地分支
git checkout 分支名
例如:git checkout dev,這條命令表示從當(dāng)前master分支切換到dev分支军俊。
創(chuàng)建本地分支并切換
git checkout -b 分支名
例如:git checkout -b dev侥加,這條命令把創(chuàng)建本地分支和切換到該分支的功能結(jié)合起來了,即基于當(dāng)前分支master創(chuàng)建本地分支dev并切換到該分支下粪躬。
提交本地分支到遠(yuǎn)程倉(cāng)庫(kù)
git push origin 本地分支名
例如:git push origin dev担败,這條命令表示把本地dev分支提交到遠(yuǎn)程倉(cāng)庫(kù)昔穴,即創(chuàng)建了遠(yuǎn)程分支dev。
注:要想和其他人分享某個(gè)本地分支提前,你需要把它推送到一個(gè)你擁有寫權(quán)限的遠(yuǎn)程倉(cāng)庫(kù)吗货。你創(chuàng)建的本地分支不會(huì)因?yàn)槟愕膶懭氩僮鞫蛔詣?dòng)同步到你引入的遠(yuǎn)程服務(wù)器上,你需要明確地執(zhí)行推送分支的操作狈网。換句話說宙搬,對(duì)于無意分享的分支,你盡管保留為私人分支好了拓哺,而只推送那些協(xié)同工作要用到的特性分支勇垛。
新建本地分支與遠(yuǎn)程分支關(guān)聯(lián)
git branch –set-upstream 本地新建分支名 origin/遠(yuǎn)程分支名(有時(shí)會(huì)提示如下兩個(gè)操作:git fetch ? git push -u )
例如:git branch –set-upstream dev origin/dev,把本地dev分支和遠(yuǎn)程dev分支相關(guān)聯(lián)士鸥。
注:本地新建分支闲孤, push到遠(yuǎn)程服務(wù)器上之后,使用git pull或者git pull 拉取或提交數(shù)據(jù)時(shí)會(huì)報(bào)錯(cuò)烤礁,必須使用命令:git pull origin dev(指定遠(yuǎn)程分支)崭放;如果想直接使用git pull或git push拉去提交數(shù)據(jù)就必須創(chuàng)建本地分支與遠(yuǎn)程分支的關(guān)聯(lián)。
三鸽凶、 其他命令
查看狀態(tài) :git status ? ? ??
查看分支/主枝狀態(tài)路徑: gitk --all &? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
查看所在分支:git branch ? ?
?查看遠(yuǎn)程與本地所以分支:git branch -a ??
拉取代碼到本地倉(cāng)庫(kù):git pull ? ? ? ? ?
提交代碼到遠(yuǎn)程倉(cāng)庫(kù):git push ? ? ? ?
克隆指定分支名代碼:git clone -b (指定分支名)(git地址) ?
刪除本地分支:git?branch -D dev ??
刪除遠(yuǎn)程分支:git push (項(xiàng)目名project) --delete dev
git回滾到任意版本:https://blog.csdn.net/QH_JAVA/article/details/77979622
git如何回滾遠(yuǎn)程倉(cāng)庫(kù)https://www.cnblogs.com/iloveyou-sky/p/6534409.html
先顯示提交的log:git log -3(最近3條)
回滾到指定的版本: git reset --hard e377f60e28c8b84158
會(huì)滾到之前一個(gè)版本:git reset --hard HEAD
撤銷前一次commit: git revert HEAD
強(qiáng)推:git push origin (分支名字) -f (因?yàn)楸镜乇冗h(yuǎn)程低一個(gè)版本,所以使用強(qiáng)推覆蓋遠(yuǎn)程)
四建峭、將本地新項(xiàng)目提交到git上:https://www.cnblogs.com/sdcs/p/8270029.html
1玻侥、第一個(gè)方法:
1)現(xiàn)在git clone?https://XXX
2)將項(xiàng)目拷貝到下載的項(xiàng)目中,在提交亿蒸。
2凑兰、第二個(gè)方法:
1)git init ??通過命令git init把這個(gè)文件夾變成Git可管理的倉(cāng)庫(kù)
2)git add .
3)git commit -m ’test’
4)git remote add origin?https://XXX? ? git和本地倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián)
5)git push -u origin master?把本地庫(kù)的所有內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù),如果倉(cāng)庫(kù)
? ? git push origin master? 由于新建的遠(yuǎn)程倉(cāng)庫(kù)是空的边锁,所以要加上-u這個(gè)參數(shù)姑食,等遠(yuǎn)程倉(cāng)庫(kù)里面有了內(nèi)容之后,去掉-u
6)可能存在報(bào)錯(cuò)現(xiàn)象:在創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候茅坛,如果你勾選了Initialize this repository with a README(就是創(chuàng)建倉(cāng)庫(kù)的時(shí)候自動(dòng)給你創(chuàng)建一個(gè)README文件)音半,那么你將本地倉(cāng)庫(kù)內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)的時(shí)候就會(huì)報(bào)一個(gè)to???https://XXX的錯(cuò),這是由于你新創(chuàng)建的那個(gè)倉(cāng)庫(kù)里面的README文件不在本地倉(cāng)庫(kù)目錄中,這時(shí)我們可以通過以下命令先將內(nèi)容合并以下:git pull --rebase origin master,這時(shí)你再push就能成功了贡蓖。
五曹鸠,git 命令放棄本地修改操作
一,
未使用 git add 緩存代碼時(shí)斥铺。
可以使用?git checkout -- filepathname?(比如:?git checkout -- readme.md彻桃,不要忘記中間的 “--” ,不寫就成了檢出分支了A乐邻眷!)眠屎。放棄所有的文件修改可以使用?git checkout .??命令。
此命令用來放棄掉所有還沒有加入到緩存區(qū)(就是 git add 命令)的修改:內(nèi)容修改與整個(gè)文件刪除肆饶。但是此命令不會(huì)刪除掉剛新建的文件改衩。因?yàn)閯傂陆ǖ奈募€沒已有加入到 git 的管理系統(tǒng)中。所以對(duì)于git是未知的抖拴。自己手動(dòng)刪除就好了燎字。
二,
已經(jīng)使用了? git add 緩存了代碼阿宅。
可以使用?git reset HEAD filepathname?(比如:?git reset HEAD readme.md)來放棄指定文件的緩存候衍,放棄所以的緩存可以使用?git reset HEAD .?命令。
此命令用來清除 git? 對(duì)于文件修改的緩存洒放。相當(dāng)于撤銷 git add 命令所在的工作蛉鹿。在使用本命令后,本地的修改并不會(huì)消失往湿,而是回到了如(一)所示的狀態(tài)妖异。繼續(xù)用(一)中的操作,就可以放棄本地的修改领追。
三他膳,
已經(jīng)用 git commit? 提交了代碼。
可以使用?git reset --hard HEAD^?來回退到上一次commit的狀態(tài)绒窑。此命令可以用來回退到任意版本:git reset --hard? commitid?
你可以使用?git log?命令來查看git的提交歷史棕孙。git log 的輸出如下,之一這里可以看到第一行就是 commitid:
commit?cf0d692e982d8e372a07aaa6901c395eec73e356?(HEAD -> master)
Author: toyflivver <2440659688@qq.com>
Date: Thu Sep 28 14:07:14 2017 +0800
多余的空行
commit?14aa4d7ad4ac6fba59b4b8261d32e478e8cc99ff
Author: toyflivver <2440659688@qq.com>
Date: Thu Sep 28 14:06:44 2017 +0800
正常的代碼
commit da3a95c84b6a92934ee30b6728e258bcda75f276
Author: toyflivver <2440659688@qq.com>
Date: Thu Sep 28 13:58:12 2017 +0800
qbf
commit 267466352079296520320991a75321485224d6c6
Author: toyflivver <2440659688@qq.com>
Date: Thu Sep 28 13:40:09 2017 +0800
qbf
可以看出現(xiàn)在的狀態(tài)在 commitid 為?cf0d692e982d8e372a07aaa6901c395eec73e356 的提交上(有 HEAD -> master 標(biāo)記)。
git重置遠(yuǎn)程分支到指定版本
分支操作者:
git checkout test-release
這個(gè)test-release就是需要被配置的分支些膨,它對(duì)應(yīng)的遠(yuǎn)程就是origin/test-release
git reset --hard xxx
這是將當(dāng)前branch重置到xxx的commit點(diǎn)蟀俊, --hard是重置是丟棄xxx之前的所有代碼變化
git push --force
其他分支使用者:
git checkout test-release
git reset --hard origin/test-release
這步就是其他同事把自己本地test-release重置到與origin/test-release一致,注意--hard參數(shù)會(huì)丟棄超過origin的所有commit订雾,如果不想丟棄可以用 --mixed 或 --soft 具體用哪個(gè)自行研究吧