gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

Git命令配置學習筆記

Git 筆記

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

Git命令

Git配置

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

注意git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。

創建版本庫

在當前目錄創建git倉庫

$ git init 

把文件添加到倉庫

$ git add <file> $ git commit

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

掌握工作區的狀態

$ git status 

查看文件修改內容

$ git diff

版本回退

$ git reset -- hard HEAD^

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

回退指定版本

$ git reset --hard commit_id

commit_id是指定版本號,是由SHA1計算出來的數字

查看提交歷史

$ git log 

查看命令歷史

$ git reflog

工作區、暫存區和版本庫

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

Git命令配置學習筆記

將文件往版本庫里添加時是分兩步執行的:

  1. 第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區。
  2. 第二步是用git commit提交修改,實際上就是把暫存區的所有內容提交到當前分支。

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

撤銷修改

丟棄工作區的修改

$ git checkout -- <file>

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

  • 一種是file自修改后還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
  • 一種是file已經添加到暫存區后,又作了修改,現在,撤銷修改就回到添加到暫存區后的狀態。

總之,就是讓這個文件回到最近一次git commit或git add時的狀態。

丟棄暫存區的修改

改亂了工作區某個文件的內容同時還添加到了暫存區,想丟棄修改時,先使用命令git reset HEAD <file>,之后按撤銷工作區修改進行操作。

進行了commit命令提交的修改

已經提交了不合適的修改到版本庫時,想要撤銷修改,使用版本回退命令,前提是沒有推送到遠程庫.

刪除文件

$ git rm <file>

當你要刪除文件text.txt的時候,可以采用命令:rm test.txt
這個時候有兩種情況:

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

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

如果執行完git commit -m "remove test.txt"后就不能用checkout恢復了,得用git reset --hard HEAD^,再從版本庫寫回到工作區。
git rm用于刪除一個文件。如果一個文件已經被提交到版本庫,那么你永遠不用擔心誤刪,但是要小心,你只能恢復文件到最新版本,你會丟失最近一次提交后你修改的內容。

遠程倉庫

創建SSH Key

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

關聯遠程倉庫

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

推送到遠程倉庫

$ git push -u origin master

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

從遠程克隆

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

注意:當你不能使用 git@github.com 命令來進行推送和克隆,是因為沒有安裝密鑰。

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

分支管理

查看分支

$ git branch

創建分支

$ git branch <name>

切換分支

$ git checkout <name>

創建+切換分支

$ git checkout -b <name>

合并某分支到當前name分支

$ git merge <name>

刪除分支

$ git branch -d <name>

強行刪除分支

$ git branch -D <name>

如果要丟棄一個沒有被合并過的分支,可以通過以上命令來實現。

查看分支合并圖

$ git log --graph

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

普通模式合并分支

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

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

保存工作現場

$ git stash  

查看工作現場

$ git stash list

恢復工作現場

$ git stash pop

在新建分支中修改bug時的推薦操作

首先理清兩個概念:
未被追蹤的文件:指的是新建的文件或文件夾且還沒加入到暫存區(新建的還沒有被git add)
未加入到暫存區的文件:指的是已經被追蹤過,但是沒有加入到暫存區(已經執行過git add/commit的但是這次修改后還沒有git add)
舉例:
readme.md 已經被git add/git commit過,但是呢,我這次只是修改了,而且沒有修改完,不能commit;
test 新建的文件夾,沒有被git add/git commit;
有個bug需要處理,這時候我需要切換分支,去處理bug
正確的步驟:
git add test(讓git去追蹤這個新文件)
git stash保留現場
如果不執行這兩個命令,那么在修改BUG完成之后git status,就會發現readme.md沒有添加到暫存區,同時又多了個test文件,
但是自己的readme.md沒有完成,萬萬不可以提交,這樣導致bug的修改代碼也提交不了。
所以需要git stash,這樣在提交修改bug代碼的時候 ,就不會看見readme.md 和 test。可以安心提交修改bug的代碼。

查看遠程庫信息

$ git remote -v;

本地新建的分支如果不推送到遠程,對其他人就是不可見的;

從本地推送分支

$ git push origin branch-name

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

在本地創建和遠程分支對應的分支

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

本地和遠程分支的名稱最好一致;

建立本地分支和遠程分支的關聯

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

從遠程抓取分支

$ git pull

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

標簽

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

新建標簽

$ git tag<tagname> 

默認為HEAD,也可以指定一個commit id。

查看標簽信息

$ git show <tagname>

創建帶有說明的標簽

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

用-a指定標簽名,-m指定說明文字

查看所有標簽

$ git tag

推送某個標簽到遠程

$ git push origin <tagname>

一次性推送全部尚未推送到遠程的本地標簽

$ git push origin --tags

刪除一個本地標簽

$ git tag -d <tagname>

刪除一個遠程標簽

$ git push origin :refs/tags/<tagname>
贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
黄色国产精品视频| 可以免费观看av毛片| 国产3p露脸普通话对白| 波多野结衣免费观看| 怡红院av亚洲一区二区三区h| 久久精品国产精品亚洲精品色 | 欧美日韩激情四射| 成年人网站av| 国产一级免费大片| 精品国产乱码久久久久久1区二区| 精品久久久久av| jizzjizzxxxx| 黄色一级大片在线观看| 欧美 日韩 国产 激情| 欧美激情国产精品日韩| 欧美一级片中文字幕| 日韩欧美黄色大片| 福利视频一二区| 国产 日韩 亚洲 欧美| www国产精品内射老熟女| 国产小视频精品| 成年人在线看片| 9久久婷婷国产综合精品性色| 亚州精品一二三区| 久久久福利影院| 欧洲美女和动交zoz0z| 成人在线播放网址| 久久黄色免费看| 一级片黄色免费| 国产 欧美 日本| 国产a级片免费观看| 中文字幕成人在线视频| 色乱码一区二区三区熟女| 99久久免费观看| 成人精品视频一区二区| 一级做a爱视频| 激情五月宗合网| 青青草原国产在线视频| 9191国产视频| 国产一二三四在线视频| 成年人在线看片| 红桃视频 国产| 欧美一区二区视频在线播放| 人妻少妇精品无码专区二区| 精品久久久久av| 经典三级在线视频| 国产又大又黄又粗的视频| 欧美日韩午夜爽爽| 免费看污污网站| 色免费在线视频| 国产av熟女一区二区三区| 51xx午夜影福利| 欧美少妇性生活视频| 国产又大又长又粗又黄| 一本色道无码道dvd在线观看| 五月天综合婷婷| 天天干天天爽天天射| 免费在线观看亚洲视频| a级网站在线观看| 亚洲va综合va国产va中文| 欧美不卡在线播放| 2021狠狠干| 一级做a爱视频| 五月婷婷激情久久| 黄色国产一级视频| 国产内射老熟女aaaa| 日本77777| 男女无套免费视频网站动漫| 黄色片久久久久| 国产精品视频一二三四区| 亚洲自拍第三页| 中文字幕剧情在线观看| 国产一伦一伦一伦| 久久黄色片网站| 在线视频观看91| 黄色网zhan| 国产小视频免费| 中文字幕日韩精品无码内射| 男人c女人视频| 蜜桃传媒一区二区三区| 成人在线观看www| 97碰在线视频| 黄页网站在线观看视频| 99精品视频在线看| 黄色片视频在线免费观看| 日本免费成人网| 那种视频在线观看| 国产精品后入内射日本在线观看| 成人黄色一级大片| 亚洲一区日韩精品| 日本aa在线观看| 男女曰b免费视频| 亚洲综合123| 97超碰国产精品| 可以免费在线看黄的网站| 亚洲色成人一区二区三区小说| 国产精品视频分类| 国产成人精品免费看在线播放| 久久这里只有精品23| 污版视频在线观看| 久久这里只有精品18| 国产精品亚洲αv天堂无码| 午夜精品久久久久久久99热影院| av在线免费观看国产| 欧美三级在线观看视频| 国产一区视频免费观看| 日本a级片在线观看| 黑森林福利视频导航| 久久观看最新视频| 久久久久久久久久久久91| 国产免费一区二区视频| 无码人妻精品一区二区三区66| 国产欧美综合一区| 我看黄色一级片| 男人添女人下部高潮视频在观看 | 97在线国产视频| 天堂在线资源视频| 欧美在线观看视频免费| 人人干人人干人人| 亚洲 高清 成人 动漫| 亚洲国产午夜精品| 亚洲精品综合在线观看| 91视频免费版污| 成人免费视频91| 国产1区2区3区中文字幕| 国产色视频在线播放| 农村妇女精品一二区| 日韩欧美不卡在线| av不卡在线免费观看| 在线观看岛国av| 中文字幕永久视频| 国产资源在线视频| 精品久久一二三| 男人和女人啪啪网站| 男人添女人荫蒂免费视频| 麻豆一区二区三区在线观看| 伊人精品视频在线观看| 午夜国产福利在线观看| www.久久久精品| 国产精品jizz在线观看老狼| 小早川怜子一区二区三区| 国产三级国产精品国产专区50| 亚洲激情在线观看视频| 国产wwwxx| 免费av不卡在线| 97超碰人人爱| 奇米影视亚洲色图| 日本在线视频www| 少妇激情一区二区三区| 国产日韩欧美久久| 91国在线高清视频| 欧美日韩性生活片| 激情网站五月天| 中文字幕一区二区在线观看视频| 亚洲精品偷拍视频| 国产高清av在线播放| 国产福利视频在线播放| 久久久久久久久久毛片| 国产欧美久久久久| 国产精品一区二区免费在线观看| 韩国中文字幕av| 国产av第一区| 精品少妇无遮挡毛片| 男同互操gay射视频在线看| 精品国产一区二区三区无码| 欧美少妇性生活视频| 真人做人试看60分钟免费| 欧美综合在线观看视频| 欧美少妇一区二区三区| 国产免费人做人爱午夜视频| 亚洲第一综合网站| 日韩一级片播放| 99国产精品白浆在线观看免费| 北条麻妃av高潮尖叫在线观看| a级网站在线观看| 亚欧在线免费观看| 国产一区二区三区小说| 国产无色aaa| www.xxx亚洲| 玩弄中年熟妇正在播放| www.国产福利| 五月天中文字幕在线| 国产乱子夫妻xx黑人xyx真爽 | 91精品国产91久久久久麻豆 主演| 亚洲一级免费观看| 内射国产内射夫妻免费频道| 久久综合亚洲精品| 色免费在线视频| 亚洲色图久久久| 国产又黄又大又粗视频| www在线观看免费| 女同性恋一区二区| 日本精品一区在线| 日日躁夜夜躁aaaabbbb| 91黄色小网站| 成熟丰满熟妇高潮xxxxx视频| 久久久久久久9| 免费极品av一视觉盛宴| 国产一区二区片| 免费毛片网站在线观看|