久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

Git命令配置學(xué)習(xí)筆記

Git 筆記

  • Git是分布式版本控制系統(tǒng)
  • 集中式VS分布式:
    1. 集中式版本控制系統(tǒng),版本庫集中存放在中央服務(wù)器,必須要聯(lián)網(wǎng)才能工作,沒有歷史版本庫。
    2. 分布式版本控制系統(tǒng),版本控制系統(tǒng)沒有“中央服務(wù)器”,每個(gè)人電腦上都是一個(gè)完整的版本庫。
    3. 分布式系統(tǒng)優(yōu)勢(shì):安全性更高,不需要聯(lián)網(wǎng),如果中央服務(wù)器故障,任何其他一個(gè)開發(fā)人員的本地都有最新的帶有歷史記錄的版本庫。
  • 主要區(qū)別在于歷史版本庫的存放,集中式系統(tǒng)歷史版本只存在于中央服務(wù)器,而分布式控制系統(tǒng)中每個(gè)本地庫都有歷史記錄存放。

Git命令

Git配置

$ git config --global user.name "Your Name"  $ git config --global user.email "email@example.com" 

注意git config命令的--global參數(shù),用了這個(gè)參數(shù),表示你這臺(tái)機(jī)器上所有的Git倉庫都會(huì)使用這個(gè)配置,當(dāng)然也可以對(duì)某個(gè)倉庫指定不同的用戶名和Email地址。

創(chuàng)建版本庫

在當(dāng)前目錄創(chuàng)建git倉庫

$ git init 

把文件添加到倉庫

$ git add <file> $ git commit

git add可以反復(fù)多次使用,添加多個(gè)文件,git commit可以一次提交很多文件,在git commit命令后添加(-m ‘····’)方便從歷史記錄里找到修改記錄。

掌握工作區(qū)的狀態(tài)

$ git status 

查看文件修改內(nèi)容

$ git diff

版本回退

$ git reset -- hard HEAD^

HEAD指向的版本是當(dāng)前版本,回到上一版本使用以上命令,如果回退上兩個(gè)版本使用HEAD^^,如果回退版本數(shù)較大(如往上50個(gè)版本),使用HEAD~50。

回退指定版本

$ git reset --hard commit_id

commit_id是指定版本號(hào),是由SHA1計(jì)算出來的數(shù)字

查看提交歷史

$ git log 

查看命令歷史

$ git reflog

工作區(qū)、暫存區(qū)和版本庫

git與其他版本控制系統(tǒng)的不同之處就是有暫存區(qū)的概念,工作區(qū)就是電腦中能看到的目錄,工作區(qū)有一個(gè)隱藏目錄[.git],這是git的版本庫。版本庫里有許多東西,最重要的是稱為stage的暫存區(qū)。

Git命令配置學(xué)習(xí)筆記

將文件往版本庫里添加時(shí)是分兩步執(zhí)行的:

  1. 第一步是用git add把文件添加進(jìn)去,實(shí)際上就是把文件修改添加到暫存區(qū)。
  2. 第二步是用git commit提交修改,實(shí)際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。

Git是如何跟蹤修改的,每次修改,如果不用git add到暫存區(qū),那就不會(huì)加入到commit中。

撤銷修改

丟棄工作區(qū)的修改

$ git checkout -- <file>

該命令是將文件在工作去的修改全部撤銷,這里有兩種情況:

  • 一種是file自修改后還沒有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫一模一樣的狀態(tài);
  • 一種是file已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。

總之,就是讓這個(gè)文件回到最近一次git commit或git add時(shí)的狀態(tài)。

丟棄暫存區(qū)的修改

改亂了工作區(qū)某個(gè)文件的內(nèi)容同時(shí)還添加到了暫存區(qū),想丟棄修改時(shí),先使用命令git reset HEAD <file>,之后按撤銷工作區(qū)修改進(jìn)行操作。

進(jìn)行了commit命令提交的修改

已經(jīng)提交了不合適的修改到版本庫時(shí),想要撤銷修改,使用版本回退命令,前提是沒有推送到遠(yuǎn)程庫.

刪除文件

$ git rm <file>

當(dāng)你要?jiǎng)h除文件text.txt的時(shí)候,可以采用命令:rm test.txt
這個(gè)時(shí)候有兩種情況:

第一種情況:的確要把test.txt刪掉,那么可以執(zhí)行
$ git rm test.txt
$ git commit -m "remove test.txt"
此時(shí)文件被刪除,且刪除記錄上傳本地庫。

第二種情況:誤刪文件,想恢復(fù),這時(shí)候還沒有commit -m "remove test.txt",執(zhí)行git checkout test.txt將文件恢復(fù)。

如果執(zhí)行完git commit -m "remove test.txt"后就不能用checkout恢復(fù)了,得用git reset --hard HEAD^,再從版本庫寫回到工作區(qū)。
git rm用于刪除一個(gè)文件。如果一個(gè)文件已經(jīng)被提交到版本庫,那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會(huì)丟失最近一次提交后你修改的內(nèi)容。

遠(yuǎn)程倉庫

創(chuàng)建SSH Key

$ ssh-keygen -t rsa -C "youremail@example.com"

關(guān)聯(lián)遠(yuǎn)程倉庫

$ git remote add origin https://github.com/username/repositoryname.git

推送到遠(yuǎn)程倉庫

$ git push -u origin master

-u 表示第一次推送master分支的所有內(nèi)容,此后,每次本地提交后,只要有必要,就可以使用命令$ git push origin master推送最新修改。

從遠(yuǎn)程克隆

$ git clone https://github.com/usern/repositoryname.git

注意:當(dāng)你不能使用 git@github.com 命令來進(jìn)行推送和克隆,是因?yàn)闆]有安裝密鑰。

  • 添加私秘鑰到$ ssh-add ~/.ssh/id_rsa
  • 如果添加失敗可以先執(zhí)行命令$ eval ssh-agent是~鍵上的那個(gè)符號(hào),然后再次添加私秘鑰。
  • $ ssh -T git@github.com判斷是否綁定成功。如果返回successfully表示成功。

分支管理

查看分支

$ git branch

創(chuàng)建分支

$ git branch <name>

切換分支

$ git checkout <name>

創(chuàng)建+切換分支

$ git checkout -b <name>

合并某分支到當(dāng)前name分支

$ git merge <name>

刪除分支

$ git branch -d <name>

強(qiáng)行刪除分支

$ git branch -D <name>

如果要丟棄一個(gè)沒有被合并過的分支,可以通過以上命令來實(shí)現(xiàn)。

查看分支合并圖

$ git log --graph

當(dāng)Git無法自動(dòng)合并分支時(shí),就必須首先解決沖突。解決沖突后,再提交,合并完成。
git log --graph命令可以看到分支合并圖。

普通模式合并分支

$ git merge --no-ff -m "description" <branchname>

通常進(jìn)行分支合并時(shí),git會(huì)使用Fast forward模式,刪除分支后,分支信息會(huì)丟失,可以使用--on-ff參數(shù),禁用Fast forward,需要時(shí)加上一個(gè)-m參數(shù)把commit描述寫進(jìn)去。這樣進(jìn)行合并后的歷史有分支,能看出來曾經(jīng)做過合并。

保存工作現(xiàn)場(chǎng)

$ git stash  

查看工作現(xiàn)場(chǎng)

$ git stash list

恢復(fù)工作現(xiàn)場(chǎng)

$ git stash pop

在新建分支中修改bug時(shí)的推薦操作

首先理清兩個(gè)概念:
未被追蹤的文件:指的是新建的文件或文件夾且還沒加入到暫存區(qū)(新建的還沒有被git add)
未加入到暫存區(qū)的文件:指的是已經(jīng)被追蹤過,但是沒有加入到暫存區(qū)(已經(jīng)執(zhí)行過git add/commit的但是這次修改后還沒有g(shù)it add)
舉例:
readme.md 已經(jīng)被git add/git commit過,但是呢,我這次只是修改了,而且沒有修改完,不能commit;
test 新建的文件夾,沒有被git add/git commit;
有個(gè)bug需要處理,這時(shí)候我需要切換分支,去處理bug
正確的步驟:
git add test(讓git去追蹤這個(gè)新文件)
git stash保留現(xiàn)場(chǎng)
如果不執(zhí)行這兩個(gè)命令,那么在修改BUG完成之后git status,就會(huì)發(fā)現(xiàn)readme.md沒有添加到暫存區(qū),同時(shí)又多了個(gè)test文件,
但是自己的readme.md沒有完成,萬萬不可以提交,這樣導(dǎo)致bug的修改代碼也提交不了。
所以需要git stash,這樣在提交修改bug代碼的時(shí)候 ,就不會(huì)看見readme.md 和 test??梢园残奶峤恍薷腷ug的代碼。

查看遠(yuǎn)程庫信息

$ git remote -v;

本地新建的分支如果不推送到遠(yuǎn)程,對(duì)其他人就是不可見的;

從本地推送分支

$ git push origin branch-name

如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交;

在本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支

$ git checkout -b branch-name origin/branch-name

本地和遠(yuǎn)程分支的名稱最好一致;

建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)

$ git branch --set-upstream branch-name origin/branch-name

從遠(yuǎn)程抓取分支

$ git pull

如果有沖突,要先處理沖突。

標(biāo)簽

git標(biāo)簽是版本庫的快照,實(shí)際就是某個(gè)commit的指針,如果要找到某次版本的commit號(hào),數(shù)字復(fù)雜不好找,使用tag取一個(gè)易于記住和理解的名字就方便許多,它跟某個(gè)commit綁在一起。(類似于域名和IP地址的關(guān)系?)

新建標(biāo)簽

$ git tag<tagname> 

默認(rèn)為HEAD,也可以指定一個(gè)commit id。

查看標(biāo)簽信息

$ git show <tagname>

創(chuàng)建帶有說明的標(biāo)簽

$git tag -a <tagname> -m <description> <branchname> or commit_id

用-a指定標(biāo)簽名,-m指定說明文字

查看所有標(biāo)簽

$ git tag

推送某個(gè)標(biāo)簽到遠(yuǎn)程

$ git push origin <tagname>

一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽

$ git push origin --tags

刪除一個(gè)本地標(biāo)簽

$ git tag -d <tagname>

刪除一個(gè)遠(yuǎn)程標(biāo)簽

$ git push origin :refs/tags/<tagname>
贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
亚洲自拍另类| 电影亚洲精品噜噜在线观看| 亚洲人成亚洲精品| 日本在线视频一区二区| 麻豆一区二区三| 美女高潮久久久| 91精品xxx在线观看| 国精品一区二区| 爽好久久久欧美精品| 亚洲www啪成人一区二区| 国产日韩视频| 高清在线一区| 国产精品手机在线播放| 久久免费视频66| 久久国产成人午夜av影院宅| 天堂成人国产精品一区| 国产美女视频一区二区| 日韩精品看片| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 国产精品亚洲产品| 国产精品99一区二区三区| 一区二区亚洲精品| 国产精品男女| 欧美亚洲一区二区三区| 石原莉奈在线亚洲二区| 欧美理论视频| 日韩欧美高清一区二区三区| 国产高潮在线| 亚洲另类黄色| 久久精品亚洲人成影院| 欧美日韩国产一区二区在线观看| 日韩av资源网| 亚洲精品自拍| 国产在线观看91一区二区三区| 国产一区二区三区四区二区| 国产精品成人**免费视频| 日本高清不卡一区二区三区视频| 99久久久久国产精品| 一区二区三区视频免费观看| 综合在线一区| 激情欧美一区| 精品91福利视频| 日韩中文在线电影| 久久久成人网| 欧美精品三级在线| 久久久国产精品网站| 粉嫩av一区二区三区四区五区 | 久久免费精品| 免费日韩视频| 播放一区二区| 欧美激情一区| 亚洲区第一页| 蜜臀av免费一区二区三区| 欧美黑人巨大videos精品| 国产视频一区在线观看一区免费| 亚洲精品网址| 精品高清久久| 亚欧成人精品| 亚洲特色特黄| zzzwww在线看片免费| 国产精品视频一区二区三区四蜜臂| 麻豆精品国产91久久久久久| 麻豆精品在线视频| 国产传媒av在线| 亚洲精品欧洲| 亚洲免费观看| 久久狠狠婷婷| 亚洲精品永久免费视频| 国产精品极品在线观看| 日韩中文字幕无砖| 亚洲欧美久久久| 欧美精品一二| 青草综合视频| 久久精品午夜| 97精品资源在线观看| 亚洲精品亚洲人成在线观看| 在线亚洲一区| 精品一区亚洲| 久久美女精品| 久久国产欧美| 久久精品国产68国产精品亚洲| 亚洲精品第一| 亚洲欧美日韩在线观看a三区| 国产精品手机在线播放| 亚洲免费资源| 亚洲精品一级二级三级| 蜜臀va亚洲va欧美va天堂| 亚洲成人免费| 亚洲国产影院| 香蕉国产精品| 91久久黄色| 99热精品在线| 亚洲一区二区三区免费在线观看| 国产日韩在线观看视频| 日韩欧美激情电影| 97成人在线| 国产日韩三级| 国产激情一区| 久久精品女人| 亚洲欧洲美洲av| 性欧美videohd高精| 中文字幕在线高清| 亚洲精品激情| 中文字幕一区二区三区四区久久 | 久久一区欧美| 国产欧美亚洲精品a| 日韩激情精品| 国产精品巨作av| 精品深夜福利视频| 中文字幕在线看片| 亚洲精品自拍| 香蕉久久久久久| 欧美午夜网站| 国产a久久精品一区二区三区| 免费看精品久久片| 亚洲小说春色综合另类电影| 日韩激情中文字幕| 免费在线观看一区| 中文字幕高清在线播放| 亚洲韩日在线| 亚洲久久一区| 国产精品亚洲四区在线观看| 久久亚洲人体| 精精国产xxxx视频在线播放| 欧美色图国产精品| 亚洲在线成人| 日韩欧美三区| aⅴ色国产欧美| 爽好久久久欧美精品| 亚洲aa在线| 国产福利亚洲| 久久裸体视频| 视频一区中文字幕国产| 日韩二区三区四区| 久久影视三级福利片| 色网在线免费观看| 91精品成人| 欧美日韩国产一区二区在线观看| 男女男精品网站| 四虎精品永久免费| 伊人久久亚洲| 欧美一区成人| jizzjizz中国精品麻豆| 丝袜美腿亚洲一区| 国产精品久久777777毛茸茸| 久久久五月天| 日韩精品一区二区三区中文字幕| 丝袜a∨在线一区二区三区不卡| 99精品在线| 亚洲在线观看| 美女视频免费精品| 国产一区日韩一区| 欧美精品国产| 久久精品av| 日本aⅴ亚洲精品中文乱码| 亚洲精品高潮| 久久精品一区二区国产| 激情欧美亚洲| 久久99久久久精品欧美| 国产精品国码视频| 私拍精品福利视频在线一区| 无码日韩精品一区二区免费| 日本欧美国产| 综合色一区二区| 日韩电影免费在线观看| 亚洲精品日韩久久| 欧洲一级精品| 国产精品一区2区3区| 最新日韩av| 免费在线播放第一区高清av| 激情欧美一区二区三区| 国产欧美丝祙| 亚洲欧美日韩国产| 五月天av在线| 国产日韩欧美一区二区三区在线观看| 欧美日韩a区| 国产亚洲高清在线观看| 国产成人精品亚洲日本在线观看| 99久久激情| 欧美日韩a区| 老鸭窝亚洲一区二区三区| 国产一区二区三区四区大秀| 亚洲精品观看| 欧美高清不卡| 美女av一区| 日韩有吗在线观看| 国产字幕视频一区二区| 美女久久久久久| 日本成人手机在线| 国产一级一区二区| av免费不卡国产观看| 91精品美女| 亚洲在线成人| 久久免费大视频| 成人国产精品| 国产亚洲高清在线观看| 日韩精品一级二级 | 欧美性感美女一区二区| 国产欧美日韩一区二区三区在线| 久久精品三级|