亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

Git本地倉庫基本操作及技巧

2024-07-21 02:03:38
字體:
來源:轉載
供稿:網友

Git是什么?

一個分布式版本控制系統,和SVN類似,但遠比SVN強大的一個版本控制系統 ①Git可以方便的在本地進行版本管理,如同你本地有一個版本管理服務器一樣 我們可以選擇在合適的時間將本地版本推送到統一的版本管理服務器 ②Git每次會提取整個代碼倉庫的完整鏡像,相當于對整個代碼倉庫都進行了一次備份,這樣計時版本服務器除了問題,我們可以直接采用本地倉庫恢復!結合本地版本管理功能,遠程版本管理服務器出問題了,我們依然能繼續寫自己的代碼,當他恢復的時候我們再提交我們的本地版本! Git研發初期是為了更好的管理Linux內核,不過現在已經廣泛應用于各種項目中!

下面看下Git本地倉庫基本操作,具體內容如下所示:

設置姓名和郵箱

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

命令運行的結果是在“C:/Users/用戶名”路徑下,產生一個.gitconfig文件,可以用記事本打開。

想更改這些信息時,可以直接編輯這個設置文件。這里設置的姓名和郵箱地址會用在Git的提交日志中。由于在GitHub上公開倉庫時,這里的姓名和郵箱地址也會隨著提交日志一同被公開,所以請不要使用不便公開的隱私信息。

創建倉庫

創建一個新文件夾,比如“TestForGit”
然后右鍵點擊這個文件夾,選擇Git Bash Here
打開后,輸入git init完成代碼倉庫的建立

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

提交本地代碼

先用add命令把要提交的內容都加進來,然后commit才是真的去執行提交操作。
第一步,用命令git add告訴Git,把文件添加到倉庫
git add readme.txt
第二步,用命令git commit告訴Git,把文件提交到倉庫
git commit -m "write a readme file"

.gitignore

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

git add

用途:可以用來跟蹤新文件,或者添加已被修改的跟蹤的文件到緩存區,或者把合并的沖突文件標記為已解決
git add的原意是更新當前工作目錄樹修改的內容到索引中(也就是緩存中去)
主要針對兩種文件:(1)版本庫沒有跟蹤的文件(2)版本庫已經跟蹤,但是修改了的文件
另外git add會自動忽略.gitignore文件所忽略的文件。

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

git add *
git add *會忽略.gitignore把任何文件都加入暫存區

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

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

$ git add -husage: 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來提交。
在git commit命令中,-m后面輸入的是本次提交的說明,可以輸入任意內容,但最好是有意義的,這樣就能從歷史記錄里方便地找到改動記錄。
執行成功后,從圖中可以看出,一個文件被改動,插入了6行內容。

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

上圖說明當前文件都已正常提交。
如果我對上傳的文件進行修改,但是卻不提交會如何?

會報出如上所示的錯誤!modified: readme.txt no changes added to commit
字面意思:readme.txt被修改,提交沒有變化

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

這條命令將我對這個文件的修改記錄顯示了出來

查看提交記錄git log

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

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

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

對應的含義分別是

此次提交對應的版本號
提交人:姓名 郵箱
提交的時間
提交版本修改的內容:就是我們git commit -m “xxx”里的xxx

撤銷未提交的修改

如果對文件進行了錯誤的修改,且已經Ctrl+S保存,但還沒有提交,想要撤銷之前的修改可以使用checkout命令

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

此時,再打開readme.txt,我對此文件的第二次修改被取消掉了

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

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

PS:通過這張圖也能看出,最新的版本號顯示在最上方git reset --hard HEAD
在git中,HEAD表示當前版本,HEAD表示上一個版本,HEAD^表示上上個版本
退回到上一個版本需要依次輸入以下指令
git reset --hard HEAD
git reset --hard HEAD^
執行結果如下圖所示:

再輸入git log查看,此時的版本號已經發生了變化,最新修改的那個版本號沒有顯示出來了

git reset --hard 版本號
這條命令可以讓我們將當前版本更改為存在過的任意一個版本
同時仔細觀察這張圖,

可以很容易的猜到,其實版本號只要輸入前七位就可以了
所以我們之前的回退指令可以用這條來替代,
git reset --hard 418ee0fgit reflog
如果你版本回退之后發現,還是最新的那個版本好一點,但此時通過git log已經找不到那個版本號了,
可以使用git reflog

顯然,版本回退之前的最新版本號為14a5f92
然后使用git reset --hard 14a5f92
打開readme.txt,因為版本回退而去掉的修改又回來了

總結

到此這篇關于Git本地倉庫基本操作及技巧的文章就介紹到這了,更多相關Git本地倉庫基本操作內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情一级欧美精品| 精品久久久免费| 亚洲伊人第一页| 亚洲精品国精品久久99热一| 宅男66日本亚洲欧美视频| 欧美猛交ⅹxxx乱大交视频| 韩日欧美一区二区| 欧美激情亚洲激情| 日韩视频免费大全中文字幕| 一本色道久久88亚洲综合88| 26uuu亚洲伊人春色| 色婷婷**av毛片一区| 欧美激情2020午夜免费观看| 色偷偷91综合久久噜噜| 国产欧美日韩中文字幕在线| 欧美一级淫片播放口| 黄色成人在线免费| 国产日韩欧美自拍| 热久久免费国产视频| 亚洲欧美三级伦理| 91亚洲精品视频| www.日韩.com| 国产欧美精品日韩精品| 亚洲第一偷拍网| 亚洲护士老师的毛茸茸最新章节| 亚洲人成网站色ww在线| 亚洲一区二区中文字幕| 久久综合色影院| 九九热精品视频在线播放| 精品丝袜一区二区三区| 日韩黄色高清视频| 97视频在线免费观看| 亚洲精品自拍偷拍| 亚洲午夜av久久乱码| 久久在精品线影院精品国产| 日韩在线中文视频| 国产精品久久久久久久久久尿| 欧美日韩亚洲精品一区二区三区| 久久精品亚洲热| 91美女片黄在线观看游戏| 日韩精品亚洲精品| 91精品国产高清久久久久久91| 日韩免费观看视频| 久久琪琪电影院| 欧日韩在线观看| 亚洲国产精彩中文乱码av在线播放| 国产精品视频午夜| 国产精品日韩久久久久| 亚洲伊人久久综合| 成人春色激情网| 欧美视频中文在线看| 91高清视频免费观看| 国产精品亚洲自拍| 亚洲无线码在线一区观看| 亚洲色图五月天| 91精品在线看| 91亚洲精品久久久久久久久久久久| 福利精品视频在线| 欧美日韩一区二区免费视频| 亚洲成人教育av| 日韩高清a**址| 5566日本婷婷色中文字幕97| 色综合久久精品亚洲国产| 亚洲天堂男人天堂女人天堂| 高清欧美性猛交xxxx黑人猛交| 91精品免费看| 欧美日韩国产中字| 亚洲男人的天堂在线播放| 日本精品久久久久久久| 欧洲美女7788成人免费视频| 亚洲精品影视在线观看| 日韩精品视频免费专区在线播放| 亚洲精品videossex少妇| 久久久国产一区二区| 国产精品香蕉在线观看| 欧美大人香蕉在线| 久久久国产91| 欧美成人小视频| 中文字幕精品av| 爽爽爽爽爽爽爽成人免费观看| 国产成人在线一区二区| 久久综合色88| 国产精品一区专区欧美日韩| 在线观看视频99| 国产欧美精品一区二区三区介绍| 欧美激情亚洲精品| 色视频www在线播放国产成人| 国产精品电影网| 欧美放荡办公室videos4k| 欧美国产第二页| 国产精品久久久久久超碰| 中文字幕av一区| 亚洲国产小视频在线观看| 91在线免费网站| 亚洲欧洲在线看| 91av中文字幕| 国产精品黄色影片导航在线观看| 一区二区在线视频播放| 亚洲www视频| 亚洲美女免费精品视频在线观看| 久久久在线免费观看| 日韩欧美国产中文字幕| 欧美体内谢she精2性欧美| 久久影视三级福利片| 亚洲一区二区精品| 欧美亚洲激情视频| xxxxx成人.com| 亚洲精品国精品久久99热一| 色无极影院亚洲| 国产亚洲欧洲在线| 亚洲精品小视频在线观看| www.xxxx欧美| 亚洲精品91美女久久久久久久| 欧美高跟鞋交xxxxhd| 久久影视免费观看| 中文字幕精品www乱入免费视频| 久久综合伊人77777尤物| 国产一区二区丝袜高跟鞋图片| 国产精品电影观看| 欧美丝袜一区二区| 成人免费激情视频| 在线观看国产精品日韩av| 免费不卡在线观看av| 欧美精品www在线观看| 成人免费看吃奶视频网站| 日韩电影网在线| 成人激情电影一区二区| 亚洲免费高清视频| 亚洲国产精品女人久久久| 久久夜精品va视频免费观看| 亚洲欧美激情四射在线日| 亚洲视频在线播放| 国产精品视频大全| 色综合久久精品亚洲国产| 欧美精品九九久久| 777国产偷窥盗摄精品视频| 欧美一级淫片播放口| 日韩在线视频导航| 57pao国产成人免费| 国产一区二区三区网站| 欧美精品久久久久久久免费观看| 欧美性生交大片免网| 日韩最新在线视频| 欧美国产在线电影| 久久精品精品电影网| 91久久久国产精品| 亚洲精品v天堂中文字幕| 国产a∨精品一区二区三区不卡| 日韩在线观看成人| 日韩在线欧美在线国产在线| 久久夜色撩人精品| 91视频国产一区| 久久久91精品国产一区不卡| 91免费电影网站| 国产精品主播视频| 日韩美女免费线视频| 欧美亚洲另类制服自拍| 亚洲图片欧美午夜| 亚洲国产女人aaa毛片在线| 欧美国产日韩一区二区三区| 久久久久九九九九| 2018中文字幕一区二区三区| 久久免费观看视频| 久久精品视频在线播放|