最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Git、GitHub學(xué)習(xí)筆記——個(gè)人使用篇

2023-03-08 17:23 作者:Vh暖夏  | 我要投稿

Tips:本筆記內(nèi)容僅滿足個(gè)人使用,可把Git和GitHub當(dāng)作自己保存文件、保存版本的管理器。而本筆記未列出企業(yè)使用的場(chǎng)景,若想了解深入可查看學(xué)習(xí)教程。

個(gè)人推薦:Git真的很有用,一些情況真的算是救命了!有一次我不小心選中了我的“所有項(xiàng)目(筆記)文件夾”,然后又不小心按了shift+delete(本意不是這樣的,也忘了當(dāng)時(shí)想干嘛了,總之就是手抖),然后項(xiàng)目文件夾就永久刪除了!還好,我有g(shù)it,reset一下就全回來(lái)了。

而GitHub,把自己本地庫(kù)的內(nèi)容push上去之后,可以查看到所有更改過(guò)的內(nèi)容,哪里更改了,都會(huì)標(biāo)出來(lái)。另外,也方便查看某文件歷史版本的樣子,只要打開(kāi)歷史記錄->此版本在主頁(yè)顯示,即可。


**Git:

*init、add、commit、status

git init —— 初始化

git add .(在git 2.x版本-A和.一樣,而在1.x版本.不會(huì)提交刪除的文件)—— 提交當(dāng)前目錄及其所有子目錄(因?yàn)槭莂dd .而.代表當(dāng)前目錄)所有未被追蹤文件到暫存區(qū)

git add -u 提交修改的和刪除的文件到暫存區(qū),不提交新建的文件

git add 文件名——提交某文件到暫存區(qū)

git commit -m "版本信息" (若此時(shí)只想提交暫存區(qū)中某個(gè)文件,則此處寫它的文件名)—— 提交文件到本地倉(cāng)庫(kù)

git commit -m用于提交暫存區(qū)的文件,git commit -am用于提交跟蹤過(guò)的文件(可省去重新git add .這一步操作)

git status —— 查看本地庫(kù)狀態(tài)


*查看歷史

git log —— 查看詳細(xì)版本信息(log命令顯示的版本信息與github歷史記錄同步)

git log --pretty=oneline —— log的簡(jiǎn)潔版(去掉了Author和Date)

git reflog —— 顯示歷史所有操作情況,版本號(hào)比log簡(jiǎn)略


*reset恢復(fù)

git reset --hard (版本號(hào)(簡(jiǎn)略、詳細(xì)版本號(hào)都可)) —— 恢復(fù)到某個(gè)版本(并清除現(xiàn)版本所有新東西完全恢復(fù)回該版本)

git reset --soft (版本號(hào)) —— 恢復(fù)到某版本,工作區(qū)保留現(xiàn)狀,目標(biāo)版本不存在的東西全部存于暫存區(qū)中待commit

git reset --mixed (版本號(hào)) —— 恢復(fù)到某版本,工作區(qū)保留現(xiàn)狀,目標(biāo)版本不存在的東西不放入暫存區(qū)

git reset --hard/soft/mixed HEAD^(/~1) —— 恢復(fù)到上一個(gè)版本

git reset --hard/soft/mixed HEAD~n —— 恢復(fù)到上n個(gè)版本


*在.config文件寫入?yún)?shù)

git config --global(--local) [xxx].xxx xxx —— 在全局(當(dāng)前)倉(cāng)庫(kù).gitconfig(.config)文件寫入?yún)?shù)

e.g:

Command —— git config --global --user.name (名字)

等價(jià)于在全局.gitconfig文件里寫入:(我的全局.gitconfig文件在---C:\Users\Vh)

[user]

name = (名字)

git config --global --list(-l) —— 打印全局.gitconfig文件內(nèi)容

git config --global(--local) --unset [xxx].xxx xxx —— (逆命令)清除.gitconfig中的xxx


*分支

git branch (分支名:hot-fix(熱修))—— 新建分支(把當(dāng)前分支狀態(tài)完全復(fù)制)? ------ a

git checkout (分支名)—— 切換分支? ------ b

git checkout -b (分支名)—— a、b命令同時(shí)進(jìn)行

git checkout --orphan? new_branch —— 新建一個(gè)空白分支(Tips:? orphan --- 孤兒)

(“空白”——即會(huì)把原分支文件放在暫存區(qū),但不會(huì)commit)

(若不做任何操作,再次切換回原分支,此空白分支不會(huì)保留)


git branch -v —— 查看所有分支

git branch -d (分支名)—— 普通刪除分支

git branch -D (分支名)—— 強(qiáng)制刪除分支(提示“error:分支未合并”時(shí)可用)

git merge (分支名)—— 合并分支(如當(dāng)前在master分支想更改東西但不想妨礙master的運(yùn)行,那么可新建分支“hot-fix”然后在新分支修改并commit后再回到master分支用merge命令可直接更新修改內(nèi)容)

git branch -m 舊名字 新名字 —— 更改分支名


*本地庫(kù)與遠(yuǎn)程庫(kù)

本地庫(kù)與遠(yuǎn)程庫(kù)鏈接

git remote add vh?(遠(yuǎn)程庫(kù)html網(wǎng)址)?創(chuàng)建html遠(yuǎn)程庫(kù)別名為vh

git remote -v —— 查看遠(yuǎn)程庫(kù)別名

git remote rm (已存在的遠(yuǎn)程庫(kù)別名)—— 刪除遠(yuǎn)程庫(kù)別名


本地庫(kù)推送到遠(yuǎn)程庫(kù)

git push vh (分支名)—— push分支“master”到遠(yuǎn)程庫(kù)(vh是別名,可直接寫網(wǎng)址)

git push vh (分支名)--force —— 強(qiáng)制push到遠(yuǎn)程庫(kù),否則會(huì)提交失敗,報(bào)錯(cuò)原因:本地項(xiàng)目版本號(hào)低于遠(yuǎn)端倉(cāng)庫(kù)版本號(hào)


刪除遠(yuǎn)程庫(kù)某分支

git push vh :(分支名) —— 刪除github上某分支


從遠(yuǎn)程庫(kù)拉取內(nèi)容到本地庫(kù)

git pull vh (分支名)—— 從遠(yuǎn)程庫(kù)拉取更新內(nèi)容到本地庫(kù)

git pull --rebase vh (分支名)—— 遠(yuǎn)程庫(kù)同步到本地庫(kù)


遠(yuǎn)程庫(kù)克隆到本地庫(kù)

git clone (https://xxx.git網(wǎng)址)—— 克隆遠(yuǎn)程庫(kù)的項(xiàng)目到本地庫(kù)

(不需要先git init,直接新建一個(gè)文件夾運(yùn)行克隆命令即可)

(克隆不需要登陸賬號(hào),直接克隆即可)

(克隆自動(dòng)拉取代碼、初始化本地庫(kù)、給被克隆鏈接其別名為origin)


*如何啟用ssh遠(yuǎn)程庫(kù)push?

Step1:git bash命令行中輸入 ssh-keygen -t rsa -C "xxx@xx.com 創(chuàng)建ssh私/公匙

(其中的xxx是填郵箱,填github的注冊(cè)郵箱即可)

(回車后會(huì)問(wèn)你以下倆文件放哪,再回車默認(rèn)路徑即可)

(然后填寫登陸密碼,輸入的密碼有可能看不見(jiàn),但你默打進(jìn)去就行(再回車后會(huì)要你再打一次確認(rèn)密碼))

(創(chuàng)建后默認(rèn)在x/.ssh目錄中會(huì)生成id_rsa和id_rsa.pub兩個(gè)文件)

(大概在global目錄中,具體可以看生成時(shí)的文字提示)

Step2:進(jìn)入GitHub網(wǎng)站,打開(kāi)Settings

Step3:點(diǎn)擊SSH and GPG keys后點(diǎn)擊New SSH key

Step4:把id_isa.pub的內(nèi)容粘貼到New SSH key的正文中,標(biāo)題可隨意寫

Step5:命令行中輸入 ssh -T git@github.com 測(cè)試SSH是否成功配置

(可能要輸入一次yes或再填一次密碼)

(若ssh -T git@github.com后長(zhǎng)時(shí)間無(wú)反應(yīng),可考慮開(kāi)手機(jī)關(guān)閉wifi開(kāi)數(shù)據(jù),然后開(kāi)熱點(diǎn)給電腦再次嘗試)

Step6:git remote add vh-ssh (遠(yuǎn)程庫(kù)ssh網(wǎng)址) —— 創(chuàng)建ssh遠(yuǎn)程庫(kù)別名為vh-ssh

Step7:git push vh-ssh (分支名) —— (可能還要填密碼)然后ssh push成功


*如何清除github的歷史記錄?(兩種方法)

(假如有些東西想徹底刪除,本地直接刪除后push上去是不行的,因?yàn)檫€可以翻看歷史記錄找回)

法一:歷史記錄跳回某一個(gè)版本

原理:git的log與github的歷史記錄同步,所以git跳回某版本后再push到github即可

用git reset --soft (版本號(hào))回到某版本后(再提一次:soft不會(huì)刪除目標(biāo)版本不存在的東西),

本地再更改到滿意后(想刪的刪,想改的改),然后再push到遠(yuǎn)程庫(kù)(會(huì)提醒版本過(guò)低,要用--force)


法二:想直接清空歷史記錄(此法原理:空分支的log是空的,且已知log與github的歷史記錄同步)

step 1:git checkout --orphan? (新分支名) —— 新建并轉(zhuǎn)入空分支

step 2:git commit -m "xxx" —— 空分支中原文件已自動(dòng)存入暫存區(qū),commit即可

step 3:git branch -D (原分支名)—— 強(qiáng)制刪除原分支

step 4:git branch -m (新分支名) (原分支名)—— 重命名新分支(防止github產(chǎn)生新分支)

step 4:git push vh (原分支名)--force —— 強(qiáng)制覆蓋github上的原分支(歷史記錄也會(huì)被“空歷史記錄”覆蓋)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


**大陸上github網(wǎng)絡(luò)問(wèn)題的解決

*什么是hosts?

a. What is hosts? hosts文件空白是不影響操作的,說(shuō)到hosts文件就不得不談到

它的作用,就是寫出域名和ip的映射關(guān)系,在DNS沒(méi)出來(lái)之前就是靠其工作的。

電腦想要去到哪個(gè)ip地址最先查看hosts文件,有的話就通過(guò)其對(duì)應(yīng)關(guān)系解析進(jìn)入

想要的域名。就像這個(gè)www.wesoullove.com,假如我給它寫的對(duì)應(yīng)關(guān)系是127.0.0.1

就無(wú)法進(jìn)入這個(gè)域名,因?yàn)檫@個(gè)ip代表的就是本機(jī)地址。

b. 最新github的hosts下載地址:https://raw.hellogithub.com/hosts(下載完后替換C:\Windows\System32\drivers\etc中的hosts即可)

c. 所以如果出現(xiàn)網(wǎng)絡(luò)問(wèn)題,可以更新一下最新的hosts,也可以使用加速器:DevSidecar


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


**常見(jiàn)異常與處理方法:

Command —— git push vh My_Project

*Exception —— the remote end hung up unexpectedly

Cause —— 網(wǎng)絡(luò)問(wèn)題或推送代碼的大小超出了git默認(rèn)的范圍,可以調(diào)整git推送代碼的最大值

Solution —— 執(zhí)行以下命令,在.gitconfig添加參數(shù)

git config -- global http.lowspeedlimit=0

git config -- global http.lowspeedtime=999999

git config --global http.postBuffer 524288000 (設(shè)置緩存為500M)

Exception —— 添加參數(shù)后還是報(bào)一樣的錯(cuò)

Cause —— 用http提交有上傳大小限制

Solution —— 改為了ssh提交


Command —— git push vh (分支名)

*Exception —— error: failed to push some refs to '(遠(yuǎn)程庫(kù)網(wǎng)址)'

Cause —— 遠(yuǎn)程庫(kù)與本地庫(kù)不一致(如單獨(dú)在github上對(duì)某文件進(jìn)行了更改,而不是在本地更改后再push到github上)

Solution —— git pull --rebase vh (分支名)

(先把遠(yuǎn)程庫(kù)某行更新的內(nèi)容同步到本地庫(kù)某行(此操作不會(huì)覆蓋本地已

更新待push的內(nèi)容)然后再把本地待更新內(nèi)容push到遠(yuǎn)程庫(kù)即可)

e.g:

遠(yuǎn)程庫(kù)初始:? ? ? ? ? 本地庫(kù)初始:

111? ? ? ? ? ? ? ? ? ? ? ? ?111

遠(yuǎn)程庫(kù)被更改: 本地庫(kù):

222? ? ? ? ? ? ? ? ? ? ? ? ?111

遠(yuǎn)程庫(kù): 本地庫(kù)被更改:

222 111

333

執(zhí)行:git pull --rebase vh (分支名)

遠(yuǎn)程庫(kù): 本地庫(kù)被同步(原更改不變):

222 222

333

執(zhí)行:git push vh (分支名)

遠(yuǎn)程庫(kù)被更新: 本地庫(kù):

222 222

333 333


Git、GitHub學(xué)習(xí)筆記——個(gè)人使用篇的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
张家口市| 介休市| 宁强县| 灵璧县| 错那县| 屏东县| 新平| 武邑县| 青海省| 黔西县| 屯留县| 寿光市| 泸西县| 团风县| 盐源县| 鄂温| 祥云县| 永和县| 青海省| 云浮市| 喀什市| 张家港市| 房产| 奉贤区| 绵阳市| 乐清市| 旺苍县| 德令哈市| 徐汇区| 分宜县| 纳雍县| 枞阳县| 台山市| 承德县| 常州市| 新宁县| 大悟县| 永宁县| 西昌市| 东海县| 汶上县|