最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Git本地倉(cāng)庫(kù)基本操作及技巧

 更新時(shí)間:2020年08月05日 08:47:26   作者:chuyaoxin  
這篇文章主要介紹了Git本地倉(cāng)庫(kù)基本操作及一些小技巧,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Git是什么?

一個(gè)分布式版本控制系統(tǒng),和SVN類(lèi)似,但遠(yuǎn)比SVN強(qiáng)大的一個(gè)版本控制系統(tǒng) ①Git可以方便的在本地進(jìn)行版本管理,如同你本地有一個(gè)版本管理服務(wù)器一樣 我們可以選擇在合適的時(shí)間將本地版本推送到統(tǒng)一的版本管理服務(wù)器 ②Git每次會(huì)提取整個(gè)代碼倉(cāng)庫(kù)的完整鏡像,相當(dāng)于對(duì)整個(gè)代碼倉(cāng)庫(kù)都進(jìn)行了一次備份,這樣計(jì)時(shí)版本服務(wù)器除了問(wèn)題,我們可以直接采用本地倉(cāng)庫(kù)恢復(fù)!結(jié)合本地版本管理功能,遠(yuǎn)程版本管理服務(wù)器出問(wèn)題了,我們依然能繼續(xù)寫(xiě)自己的代碼,當(dāng)他恢復(fù)的時(shí)候我們?cè)偬峤晃覀兊谋镜匕姹荆?Git研發(fā)初期是為了更好的管理Linux內(nèi)核,不過(guò)現(xiàn)在已經(jīng)廣泛應(yīng)用于各種項(xiàng)目中!

下面看下Git本地倉(cāng)庫(kù)基本操作,具體內(nèi)容如下所示:

設(shè)置姓名和郵箱

設(shè)置使用Git時(shí)的姓名和郵箱地址。名字須用英文輸入
git config --global user.name "chuyaoxin"
git config --global user.email yaoxinchu@126.com

命令運(yùn)行的結(jié)果是在“C:\Users\用戶名”路徑下,產(chǎn)生一個(gè).gitconfig文件,可以用記事本打開(kāi)。

想更改這些信息時(shí),可以直接編輯這個(gè)設(shè)置文件。這里設(shè)置的姓名和郵箱地址會(huì)用在Git的提交日志中。由于在GitHub上公開(kāi)倉(cāng)庫(kù)時(shí),這里的姓名和郵箱地址也會(huì)隨著提交日志一同被公開(kāi),所以請(qǐng)不要使用不便公開(kāi)的隱私信息。

創(chuàng)建倉(cāng)庫(kù)

創(chuàng)建一個(gè)新文件夾,比如“TestForGit”
然后右鍵點(diǎn)擊這個(gè)文件夾,選擇Git Bash Here
打開(kāi)后,輸入git init完成代碼倉(cāng)庫(kù)的建立

輸入ls -al可以看到目錄下有個(gè).git的文件夾,但這個(gè)目錄默認(rèn)是隱藏的。

提交本地代碼

先用add命令把要提交的內(nèi)容都加進(jìn)來(lái),然后commit才是真的去執(zhí)行提交操作。
第一步,用命令git add告訴Git,把文件添加到倉(cāng)庫(kù)
git add readme.txt
第二步,用命令git commit告訴Git,把文件提交到倉(cāng)庫(kù)
git commit -m "write a readme file"

.gitignore

.gitignore是Git的忽略配置文件,放在項(xiàng)目根目錄下就行,這樣在提交代碼時(shí)就不會(huì)跟蹤在.gitignore配置文件列舉的文件。另外,.gitignore文件本身需要被git跟蹤管理,不能被忽略。

git add

用途:可以用來(lái)跟蹤新文件,或者添加已被修改的跟蹤的文件到緩存區(qū),或者把合并的沖突文件標(biāo)記為已解決
git add的原意是更新當(dāng)前工作目錄樹(shù)修改的內(nèi)容到索引中(也就是緩存中去)
主要針對(duì)兩種文件:(1)版本庫(kù)沒(méi)有跟蹤的文件(2)版本庫(kù)已經(jīng)跟蹤,但是修改了的文件
另外git add會(huì)自動(dòng)忽略.gitignore文件所忽略的文件。

git add .
將文件的修改、文件的新建(注意!不包括被刪除的文件),添加到暫存區(qū)
git add .會(huì)把所有untrack的文件都加入暫存區(qū),并且會(huì)根據(jù).gitignore做過(guò)濾

git add *
git add *會(huì)忽略.gitignore把任何文件都加入暫存區(qū)

git add -u
將文件的修改、文件的刪除(注意!僅監(jiān)控被add的文件,不包括新文件),添加到暫存區(qū),u表示update

git add -A
將文件的修改,文件的刪除,文件的新建(相當(dāng)于add .與add -u的合集),添加到暫存區(qū),A表示all其他
可以使用git add -h命令來(lái)查看

$ git add -h
usage: git add [<options>] [--] <pathspec>...
  -n, --dry-run     dry run
  -v, --verbose     be verbose
  -i, --interactive   interactive picking
  -p, --patch      select hunks interactively
  -e, --edit      edit current diff and apply
  -f, --force      allow adding otherwise ignored files
  -u, --update     update tracked files
  --renormalize     renormalize EOL of tracked files (implies -u)
  -N, --intent-to-add  record only the fact that the path will be added later
  -A, --all       add changes from all tracked and untracked files
  --ignore-removal   ignore paths removed in the working tree (same as --no-all)
  --refresh       don't add, only refresh the index
  --ignore-errors    just skip files which cannot be added because of errors
  --ignore-missing   check if - even missing - files are ignored in dry run
  --chmod (+|-)x    override the executable bit of the listed files
  --pathspec-from-file <file>
             read pathspec from file
  --pathspec-file-nul  with --pathspec-from-file, pathspec elements are separated with NUL character

git commit

git commit -m "write a readme file"

可以在使用了多次git add之后再使用git commit來(lái)提交。
在git commit命令中,-m后面輸入的是本次提交的說(shuō)明,可以輸入任意內(nèi)容,但最好是有意義的,這樣就能從歷史記錄里方便地找到改動(dòng)記錄。
執(zhí)行成功后,從圖中可以看出,一個(gè)文件被改動(dòng),插入了6行內(nèi)容。

git statusgit status
可以使用git status命令查看是否還有文件未提交

上圖說(shuō)明當(dāng)前文件都已正常提交。
如果我對(duì)上傳的文件進(jìn)行修改,但是卻不提交會(huì)如何?

會(huì)報(bào)出如上所示的錯(cuò)誤!modified: readme.txt no changes added to commit
字面意思:readme.txt被修改,提交沒(méi)有變化

git diffgit diff readme.txt
git status可以讓我們知道有沒(méi)有正常提交,比如上面那個(gè)例子,但如果要查看文件到底修改了什么內(nèi)容,可以使用git diff 文件名命令

這條命令將我對(duì)這個(gè)文件的修改記錄顯示了出來(lái)

查看提交記錄git log

使用git log即可查看歷史提交信息

從這張圖也可以看出之前git commit -m "write a readme file"中,-m部分的作用,這個(gè)和編程時(shí)寫(xiě)注釋是一樣的,可以不寫(xiě),但是寫(xiě)的話方便以后的工作。
還有要注意的地方是輸出的結(jié)果,
顯然我這是提交了兩次,以第一次的結(jié)果為例,

commit 418ee0fc27d78a71f5869451b5a1599cc028b0ca (HEAD -> master)
Author: chuyaoxin yaoxinchu@126.com
Date: Tue Aug 4 19:48:59 2020 +0800
write a readme file

對(duì)應(yīng)的含義分別是

此次提交對(duì)應(yīng)的版本號(hào)
提交人:姓名 郵箱
提交的時(shí)間
提交版本修改的內(nèi)容:就是我們git commit -m “xxx”里的xxx

撤銷(xiāo)未提交的修改

如果對(duì)文件進(jìn)行了錯(cuò)誤的修改,且已經(jīng)Ctrl+S保存,但還沒(méi)有提交,想要撤銷(xiāo)之前的修改可以使用checkout命令

不僅未提交,而且沒(méi)有add
如果是這種情況,只需要一句git checkout 修改的文件名即可
例如,git checkout readme.txt

此時(shí),再打開(kāi)readme.txt,我對(duì)此文件的第二次修改被取消掉了

已經(jīng)add,但還沒(méi)有提交
如果我們已經(jīng)add了的話,那么直接checkout是沒(méi)任何作用的,我們要先取消添加才可以撤回提交
git reset HEAD readme.txt
git checkout readme.txt

版本回退git reset
如果我們已經(jīng)提交,但想退回到之前的版本,可以使用git reset命令
比如我先在readme.txt中添加了一行,然后git add readme.txt,git commit -m "add the third step",添加并提交到倉(cāng)庫(kù)
完成之后,使用git log檢查提交記錄。

PS:通過(guò)這張圖也能看出,最新的版本號(hào)顯示在最上方git reset --hard HEAD
在git中,HEAD表示當(dāng)前版本,HEAD表示上一個(gè)版本,HEAD^表示上上個(gè)版本
退回到上一個(gè)版本需要依次輸入以下指令
git reset --hard HEAD
git reset --hard HEAD^
執(zhí)行結(jié)果如下圖所示:

再輸入git log查看,此時(shí)的版本號(hào)已經(jīng)發(fā)生了變化,最新修改的那個(gè)版本號(hào)沒(méi)有顯示出來(lái)了

git reset --hard 版本號(hào)
這條命令可以讓我們將當(dāng)前版本更改為存在過(guò)的任意一個(gè)版本
同時(shí)仔細(xì)觀察這張圖,

可以很容易的猜到,其實(shí)版本號(hào)只要輸入前七位就可以了
所以我們之前的回退指令可以用這條來(lái)替代,
git reset --hard 418ee0fgit reflog
如果你版本回退之后發(fā)現(xiàn),還是最新的那個(gè)版本好一點(diǎn),但此時(shí)通過(guò)git log已經(jīng)找不到那個(gè)版本號(hào)了,
可以使用git reflog

顯然,版本回退之前的最新版本號(hào)為14a5f92
然后使用git reset --hard 14a5f92
打開(kāi)readme.txt,因?yàn)榘姹净赝硕サ舻男薷挠只貋?lái)了

總結(jié)

到此這篇關(guān)于Git本地倉(cāng)庫(kù)基本操作及技巧的文章就介紹到這了,更多相關(guān)Git本地倉(cāng)庫(kù)基本操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • RocketMQ單結(jié)點(diǎn)安裝/Dashboard安裝過(guò)程分享

    RocketMQ單結(jié)點(diǎn)安裝/Dashboard安裝過(guò)程分享

    RocketMq屬于天生集群,需要同時(shí)啟動(dòng)nameServer和Broker進(jìn)行部署,在通過(guò)Dashboard進(jìn)行監(jiān)控,本文給大家介紹RocketMQ單結(jié)點(diǎn)安裝/Dashboard安裝過(guò)程,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • Git配置別名簡(jiǎn)化操作命令方式詳解

    Git配置別名簡(jiǎn)化操作命令方式詳解

    這篇文章主要為大家介紹了Git配置別名簡(jiǎn)化操作命令方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • git使用教程(最詳細(xì)、最傻瓜)

    git使用教程(最詳細(xì)、最傻瓜)

    這篇文章主要介紹了git使用教程(最詳細(xì)、最傻瓜),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • VS2019創(chuàng)建MFC程序的實(shí)現(xiàn)方法

    VS2019創(chuàng)建MFC程序的實(shí)現(xiàn)方法

    這篇文章主要介紹了VS2019創(chuàng)建MFC程序的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 值得推薦的Idea十幾大優(yōu)秀插件(小結(jié))

    值得推薦的Idea十幾大優(yōu)秀插件(小結(jié))

    這篇文章主要介紹了值得推薦的Idea十幾大優(yōu)秀插件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • POST與GET方法的區(qū)別簡(jiǎn)要分析

    POST與GET方法的區(qū)別簡(jiǎn)要分析

    原理介紹:理論上說(shuō),GET是從服務(wù)器上請(qǐng)求數(shù)據(jù),POST是發(fā)送數(shù)據(jù)到服務(wù)器。事實(shí)上,GET方法是把數(shù)據(jù)參數(shù)隊(duì)列(query string)加到一個(gè)URL上,值和表單是一一對(duì)應(yīng)的。
    2008-10-10
  • 關(guān)于HTTPS的加密流程詳解

    關(guān)于HTTPS的加密流程詳解

    這篇文章主要介紹了關(guān)于HTTPS的加密流程詳解,http是為了解決http存在的問(wèn)題而在http基礎(chǔ)上加入了SSL/TSL,在HTTP/2中TCP三次握手后會(huì)進(jìn)入SSL/TSL握手,當(dāng)SSL/TSL建立鏈接后,才會(huì)進(jìn)行報(bào)文的傳輸,需要的朋友可以參考下
    2023-07-07
  • windows開(kāi)發(fā)記事本程序紀(jì)實(shí)(一)界面篇

    windows開(kāi)發(fā)記事本程序紀(jì)實(shí)(一)界面篇

    這將是一個(gè)系列博文,后面會(huì)繼續(xù)補(bǔ)充邏輯功能的開(kāi)發(fā)的步驟。本節(jié)主要實(shí)現(xiàn)記事本的主界面設(shè)計(jì),包括主界面窗口的構(gòu)建、菜單的加入。雖然都是一些基本的操作,但是還是想將這些基本步驟完整地記錄下來(lái),以便后續(xù)驗(yàn)證。
    2014-08-08
  • 解決git 提交后中文字符會(huì)亂碼的問(wèn)題

    解決git 提交后中文字符會(huì)亂碼的問(wèn)題

    這篇文章主要介紹了解決git 提交后中文字符會(huì)亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 蝴蝶優(yōu)化算法及實(shí)現(xiàn)源碼

    蝴蝶優(yōu)化算法及實(shí)現(xiàn)源碼

    這篇文章主要為大家介紹了蝴蝶優(yōu)化算法的講解及實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02

最新評(píng)論

宁化县| 福建省| 嘉义县| 通山县| 中山市| 博兴县| 崇礼县| 博野县| 杂多县| 安宁市| 巨鹿县| 石渠县| 太湖县| 分宜县| 通道| 平安县| 合江县| 桦甸市| 凌海市| 安溪县| 陆川县| 惠水县| 沁源县| 明溪县| 巫溪县| 苏尼特右旗| 攀枝花市| 修水县| 商丘市| 如东县| 荣昌县| 福州市| 保亭| 宜兰县| 麦盖提县| 太谷县| 涞源县| 怀集县| 虹口区| 贵溪市| 隆林|