www涩-www黄网站-www黄色-www黄色com-国产免费拍拍视频在线观看网站-国产免费怕怕免费视频观看

Git簡單教程

2018-03-14 15:01:02 csdn  點擊量: 評論 (0)
本人首次發(fā)表和總結自己學的東西,有不好的地方請指出一、git上傳項(安裝Git) Git上傳項目有兩種方法:一種https方法,一種ssh方法 htt

本人首次發(fā)表和總結自己學的東西,有不好的地方請指出

一、git上傳項(安裝Git)

         Git上傳項目有兩種方法:一種https方法,一種ssh方法

         https方法:

         1、首先登錄github.com注冊賬號創(chuàng)建一個newrespository

         2、安裝git,教程自行百度搜索

         3、在本地項目上右擊git base here在命令行中輸入git init項目加入git管理

         4、輸入git add . (不要忘記“.”),將項目所有文件內(nèi)容添加到git中

         5、輸入git commit –m “first commit(提示信息隨意輸入)”

         6、輸入git remote add origin https://github.com/youname/xiangmuming.git,鏈接你的github倉庫

         7、輸入git push –u origin master,上傳你的項目到github,會要求輸入你的github賬號和密碼

         到此首次上傳提交項目成功

注意:

另外,這里有個坑需要注意一下,就是在上面第七步創(chuàng)建遠程倉庫的時候,如果你勾選了Initializethis repository with a README(就是創(chuàng)建倉庫的時候自動給你創(chuàng)建一個README文件),那么到了第九步你將本地倉庫內(nèi)容推送到遠程倉庫的時候就會報一個failed to push somerefs to https://github.com/guyibang/TEST2.git的錯。

這是由于你新創(chuàng)建的那個倉庫里面的README文件不在本地倉庫目錄中,這時我們可以通過以下命令先將內(nèi)容合并以下:

git pull --rebase origin master

這時你再push就能成功了。

Git常用命令

Git status 查看工作區(qū)的狀態(tài)

Git diff 查看修改過的內(nèi)容

 

二、時光穿梭機

    一、版本回退

輸入git log(或者git log –pretty=oneline)查看提交歷史

輸入 git reset --hard HEAD^(^回退上一個版本,^^回退前一個版本,100輸入HEAD~100),或者輸入 git reset --hard commit_id(提交歷史id)

輸入git reflog查看命令歷史,以便確定要回到未來的哪個版本

 

    二、工作區(qū)和暫存區(qū)(stage)

文件修改之后首先添git add +文件名到暫存區(qū)(stage),然后提交git commit –m “提交注釋”

 

    三、管理修改

Git跟蹤并管理的是修改,而非文件

理解Git如何跟蹤修改的:每次修改,如果不git add到暫存區(qū)(stage),那就不會加入到commit中

    四、撤銷修改

1、命令git checkout --readme.txt意思就是,把readme.txt文件在工作區(qū)的修改全部撤銷,這里有兩種情況:

一種是readme.txt自修改后還沒有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫一模一樣的狀態(tài);

一種是readme.txt已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。

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

2、如果已經(jīng)添加到暫存區(qū)中可以使用git reste HEAD file(文件名)可以把暫存區(qū)的修改撤銷。

git reset命令既可以回退版本,也可以把暫存區(qū)的修改回退到工作區(qū)。當我們用HEAD時,表示最新的版本

3、如果已經(jīng)提交,可以進行版本回退操作

    五、刪除文件

從版本庫中刪除:

rm filename -> git rm filename -> git commit –m “注釋”

刪錯了:git checkout filename

 

 

三、遠程倉庫

生成SSH key :ssh-keygen –T rsa –C “          郵箱”;登錄github設置ssh key

    一、添加遠程倉庫

申請github賬號,創(chuàng)建一個項目

本地git倉庫與遠程倉庫關聯(lián)

Git remote add origin [email protected]:yougithubaccount/xiangmu.git

本地項目推送到遠程倉庫 git push –u origin master (首次推送添加 –u,以后推送不再需要-u)

,推送master分支的所有內(nèi)容

    二、克隆

使用git clone + 地址

Git支持多種協(xié)議,包括https,但通過ssh支持的原生git協(xié)議速度最快。

四、分支管理

    一、創(chuàng)建與合并分支

1、創(chuàng)建并切換分支:git checkout –b dev 

Git checkout 命令加上-b參數(shù)表示創(chuàng)建并切換,相當于兩條命令

Git branch dev (創(chuàng)建)、git checkout dev(切換分支)

2、查看當前分支 git branch (列出所有分支,分支前*號表示)

3、工作區(qū)的操作正常操作

4、合并分支:

   首先切換到主分支master,

   執(zhí)行git merge dev 用于指定分支合并到當前分支

5、刪除分支: git branch –d dev 刪除后查看分支git branch

合并沖突解決方案:

6、合并產(chǎn)生沖突,在主分支手動解決沖突,之后重新提交,合并完成

Git log --greph查看分支合并圖(或者git log --graph--pretty=oneline --abbrev-commit

    二、分支合并策略

通常情況下,合并分支,如果可能,git會用Fast forward模式,但這種模式下,刪除分支后,會丟掉分支信息。

如果強制禁止Fast forward模式,git就會在merge時生成一個新的commit,這樣從分支歷史上就可以看出分支信息了。

--no-ff方式的git merge(合并分支)

合并輸入(禁用fast forward模式):git merge --no-ff –m “注釋” dev

(因為本次合并要產(chǎn)生一個新的commit,所以加上-m參數(shù),把commit描述寫進去)

    三、bug分支

修復bug時,我們會通過創(chuàng)建新的bug分支進行修復,然后合并,最后刪除;

當手頭工作沒有完成時,先把工作現(xiàn)場git stash一下,然后去修復bug,修復后,再git stash pop,回到工作現(xiàn)場。

 

存儲當前工作狀態(tài):git stash

查看存儲的工作狀態(tài)列表:git stash list

取回工作狀態(tài):

1、git stash apply(取出最新存儲工作狀態(tài)恢復后,stash不會刪除),git stash drop(刪除)

2、git stash pop(恢復工作狀態(tài)的同時,刪除stash信息)

恢復指定的工作狀態(tài):git stash apply stash@{0}

強制刪除分支:

創(chuàng)建一個分支,添加一個新的功能,待開發(fā)完畢后,接到任務不需要該功能,然后我們刪除分支git branch –d dev,這是提示我們刪除失敗,因為dev分支沒有合并,需要強制刪除,輸入命令:git branch –D dev(把“-d”換成“-D”就是強制刪除

 

五、分支管理

    一、查看遠程庫信息

1、  查看遠程庫信息:git remote

2、  查看詳細信息:git remote –v

    二、推送分支

1、  推送分支:git push origin master(主分支,其他分支git push origin dev)

    三、抓取分支

1、創(chuàng)建遠程分支:git checkout –bdev origin/dev

2、本地分支與遠程分支建立關聯(lián):git branch --set-upstream dev origin/dev

五、標簽管理

發(fā)布一個版本時,我們通常先在版本庫中打一個標簽(tag),這樣,就唯一確定了打標簽時刻的版本。將來無論什么時候,取某個標簽的版本,就是把那個打標簽的時刻的歷史版本取出來。所以,標簽也是版本庫的一個快照。

Git的標簽雖然是版本庫的快照,但其實它就是指向某個commit的指針(跟分支很像對不對?但是分支可以移動,標簽不能移動),所以,創(chuàng)建和刪除標簽都是瞬間完成的。

Git有commit,為什么還要引入tag?

“請把上周一的那個版本打包發(fā)布,commit號是6a5819e...”

“一串亂七八糟的數(shù)字不好找!”

如果換一個辦法:

“請把上周一的那個版本打包發(fā)布,版本號是v1.2”

“好的,按照tag v1.2查找commit就行!”

所以,tag就是一個讓人容易記住的有意義的名字,它跟某個commit綁在一起。

    一、創(chuàng)建標簽

1、創(chuàng)建標簽:git tag <name>(默認標簽是打在最新的提交的commit上)

2、查看所有標簽:git tag

3、如果昨天的忘記打標簽怎么辦?

         首先,找到歷史提交的commit_id,然后打上標簽。

         輸入:git log –abbrev-commit(或者git log --pretty=oneline --abbrev-commit)

         找到需要打標簽的commitid,

輸入 :git tag v0.9 commitid

4、查看標簽的信息:git show tag

5、創(chuàng)建帶有說明的標簽,-a指定表簽名,-m指定說明文字:

   Git tag –a v0.9 –m “注釋” commitid

還可以通過-s用私鑰簽名一個標簽:

git tag -s v0.2 -m "signed version 0.2 released" commit id:簽名采用PGP簽名,因此,必須首先安裝gpg(GnuPG),如果沒有找到gpg,或者沒有gpg密鑰對,就會報錯

    二、刪除標簽

1、刪除本地標簽:git tag –d <tagname>

2、推送指定本地標簽:git push origin <tagname>

3、推送所有的標簽:git push origin --tags

4、刪除遠程標簽:

首先刪除本地標簽:git tag –d <tagname>;

然后刪除遠程標簽:git push origin :refs/tags/<tagname>

 

刪除已有的關聯(lián)的遠程倉庫:git remoterm origin

六、關聯(lián)多個遠程倉庫

大云網(wǎng)官方微信售電那點事兒

責任編輯:售電衡衡

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內(nèi)容。
我要收藏
個贊
?
主站蜘蛛池模板: 国产精品亚洲精品不卡 | 亚洲欧美综合一区二区三区四区 | 亚洲精品久 | 久久久久在线观看 | 国产精品久久久久久久 | 国产乱子视频 | 99热r| 免费在线看a| 黄色不卡视频 | 九九九九在线视频播放 | 极品丝袜高跟91白沙发在线 | 波多野结衣在线免费视频 | 日韩美一区二区 | 久久精品免费观看视频 | 国产成人精品微拍视频 | 亚洲特级黄色片 | 欧美另类极品 | 亚洲一级理论片 | 日韩三级精品 | 久久成人网18网站 | 久久99亚洲精品久久久久 | 做爰成人五级在线视频| 欧美日韩国产一区二区三区播放 | 特级毛片全部免费播放器 | 男女性高爱潮免费的国产 | 亚洲精品自产拍在线观看 | 日韩欧美在线综合网高清 | 97在线观看完整免费 | 亚洲人成网站在线观看播放 | 99精品视频99 | 国产成人lu在线视频 | 特级淫片欧美高清视频蜜桃 | 欧美国产一区二区 | 欧美在线观看成人高清视频 | 99久久99久久精品免费看子伦 | 手机看片日韩国产一区二区 | 老司机午夜性生免费福利 | 国产高清视频在线观看 | 亚洲欧美在线播放 | 国产自约视频 | 国产小视频在线高清播放 |