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

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

爆肝總結git保姆級教學筆記

本篇文章給大家帶來了關于git的基礎知識總結的相關知識,其中包括git和github的簡介以及遠程倉庫等相關問題,希望對大家有幫助。

爆肝總結git保姆級教學筆記

Git

在實際工作中,我們會遇到很多無法預料的問題:

問題一:頻繁改需求。例:

開發功能A – V1

添加功能B – V2

在功能B上添加功能C – 重新寫功能B,再添加功能C – V3

在功能B上添加功能D – 重新寫功能B,再天添加功能D

項目開發好以后,形成版本v1.0 需求改變: 在v1.0的基礎上添加功能A,形成版本v1.1 - 在上個版本的基礎上添加功能A 在v1.0的基礎上添加功能B,形成版本v1.2 - 在上個版本的基礎上刪除功能A,添加功能B 在v1.1的基礎上添加功能C,形成版本v1.3 - 在上個版本的基礎上刪除功能B,添加功能A,再添加功能C 在v1.2的基礎上添加功能D,形成版本v1.4 - 上個版本的基礎上刪除功能A,刪除功能C,添加功能B,添加功能D

git可以完美解決這個刪除添加的過程。因為git可以將每個版本保存下來,可以很輕松的將當前版本切換到之前的某個版本。

問題二:一不小心將文件刪除了,還需要重新寫。

在公司寫了一丟丟代碼,回了家,繼續開發,白天寫的代碼沒有拷貝回來

使用git的話,如果將某個文件刪除,形成新的版本,也可以很輕松的切換到之前的版本,將刪除的文件找回來。

問題三:在當前電腦開發好的內容,換了一臺電腦,發現代碼還需要重新寫

使用git的話,將每次寫好的代碼,上傳到github網站,只要有網就能下載,相當于備份

問題四:工作中每個人寫好的文件最后需要合并到一個大文件中,需要很繁瑣的復制粘貼

多人分工開發,最終需要將代碼合并起來

使用git可以很輕松的進行文件合并

git和github簡介

git:分布式版本控制工具。其實就是一個軟件,來管理文件夾使用的。需要通過命令操作。

github:世界級的開源網站,存儲文件使用。使用者都是開發者。文件可以選擇加密,只有自己能用,可以選擇開源,所有人都能用。還可以和作者溝通。只接受git工具上傳。在這個網站上又很多別人寫好的各種語言的代碼文件,如果有什么插件需要下載,可以在這個網站上搜索。

git可以管理本地文件,也可以管理gitgub的文件。

本地倉庫:在自己電腦上被 git 管理的文件夾

遠程倉庫:在線上管理的文件夾

推送:將本地的內容,上傳到遠程

同步:將線上的內容和本地內容保持一致

專業術語

使用的是git bash here – 使用命令操作

倉庫:是用來存儲代碼的一個文件夾,這個文件夾被git工具所管理

本地倉庫:本地計算上被git管理的文件夾

遠程倉庫:遠程服務器上被git管理的文件夾

推送:將本地倉庫中的內容上傳到遠程倉庫 – push

拉取(同步):將遠程倉庫的內容下載到本地一份 – 讓本地倉庫和遠程倉庫保持一致

像百度網盤 – 但是只能存儲代碼文件

像百度貼吧 – 可以進行交友、互粉、點贊…

github.com – 全球最大的同性交友網站 – 國外

本地使用git

下載安裝,檢測是否安裝成功:

git --version

或者點擊鼠標右鍵出現下圖也可以

git安裝成功的標志
爆肝總結git保姆級教學筆記

查看文件

dir

爆肝總結git保姆級教學筆記

首先要在被管理的文件夾中進行初始化,才能在這個文件夾中使用git命令管理:

git init
執行結束后,在文件夾中會生成一個 隱藏文件夾 .git;標志著這個文件夾成為了git倉庫

爆肝總結git保姆級教學筆記

初始化后,會出現一個隱藏的文件夾.git,此時代表當前這個文件夾及其以下內容都被git管理了。git管理文件夾的時候將管理過程分為3個區域:

  1. 工作區:自己寫的源文件

    工作區示意圖
    爆肝總結git保姆級教學筆記
  2. 暫存區:將要保存的文件,暫時存在暫存區

    暫存區示意圖
    爆肝總結git保姆級教學筆記
  3. 歷史區:生成一個版本,只能將暫存區的內容生成版本。上傳的時候只能上傳歷史區的內容

將源文件添加到暫存區:

git add 文件 # 將單獨一個文件添加到暫存區 git add 文件夾/ # 將整個文件夾添加到暫存區(git不管理空文件夾) git add --all # 將當前文件夾中所有文件和文件夾都添加到暫存區  -  簡寫:git add .

爆肝總結git保姆級教學筆記

查看git管理的文件的狀態:

git status

爆肝總結git保姆級教學筆記

將暫存區的文件拉回到源文件:

git reset HEAD -- 文件 # 將某個文件從暫存區變為源文件 git reset HEAD -- 文件夾/ # 將整個文件夾從暫存區變為源文件 git reset HEAD -- . # 將所有文件從暫存區變為源文件

爆肝總結git保姆級教學筆記

將暫存區的內容生成歷史版本:

git commit -m "版本說明"

爆肝總結git保姆級教學筆記
working tree clean 工作區是干凈的 轉移歷史區成功!
當將所有暫存區的內容放到歷史區的時候,工作區就是趕干凈 working tree clean
爆肝總結git保姆級教學筆記
注意事項:
不能單獨將某一個文件放到歷史區,一次性會將所有暫存區的內容放到歷史區
只能將暫存區的內容放到歷史區,不能跨步驟(將工作區的內容放到歷史)操作

初次需要設置自己的郵箱和姓名   輸入以下指令 所以解決方法是當出現這個上述提示后 接著補充 你在命令行中執行 git config --global user.email "你的郵箱" git config --global user.name "你的名字" (注意 “ 前面是有空格的) 輸入完后再接著執行git commit 即可成功! 查看所有版本信息:

爆肝總結git保姆級教學筆記

git log

查看版本信息:

版本信息示意圖
爆肝總結git保姆級教學筆記

回到指定版本:

git reset --hard HEAD^ # 有幾個上檔鍵就回退幾個版本git reset --hard 歷史版本號

刪除歷史版本:

git rebase -i 指定的歷史版本

刪除歷史版本的坑:

1.刪除的時候不能指定要刪除的版本,需要指定要刪除的版本之前的版本

2.刪除命令執行后,會打開一個文件, :wq 敲回車,需要將其中的pick改成drop才能刪除成功
3. 打開這個文件以后,是無法進行輸入的,需要按 i a s 進入到插入模式
4. 就可以將單詞進行修改,保存并退出,按 esc 退出了插入模式,再按 :wq 保存并退出的意思

兩個特殊文件

git在進行管理文件夾的時候,不能管理空文件夾,為了避免誤會產生,讓空文件夾被管理,git提供了一個專業的管理空文件夾的文件 – 名字是固定的:.gitkeep – 將這個文件放到被管理的空文件夾 – 此時的空文件夾被管理了

如果某些文件或文件夾不希望被git管理,就可以設置一個黑名單,讓這個文件或文件夾被忽略掉,此時git提供了一個文件叫 .gitignore 這個文件就可以設置黑名單 將需要被忽略掉的文件的路徑寫在這個文件中<

讓git能管理一個空文件夾:

在空文件夾中新建文件:.gitkeep,這個文件沒有實際意義,這是為了占位,讓空文件夾能被管理的標識,以后要在文件夾中寫文件的時候,這個文件可以被刪除

讓某些文件或者文件夾被忽略管理:

在和.git同級的位置,新建文件:.gitignore,在這個文件中書寫要忽略的內容:

直接寫文件名,代表要忽略的是哪個文件 寫文件夾路徑,表示要忽略的是哪個文件夾 *.后綴,表示要忽略的是所有后綴為指定后綴的文件

遠程操作

創建倉庫的時候,可以選擇初始化,也可以選擇不初始化

不初始化

在本地創建倉庫,放到暫存區,形成歷史區

讓本地倉庫和遠程倉庫之間建立連接

git remote add origin https://gitee.com/web_wang_wu/good-man.git

origin是一個變量,可以自定義

將本地倉庫的內容上傳到遠程倉庫:

git push -u origin master

需要輸入賬號密碼:注冊使用的郵箱以及密碼

當下次再次上傳的時候,就不需要輸入賬號密碼了,因為windows已經將這次輸入的賬號密碼保存起來了

賬號密碼存儲在計算機的 “憑據管理器” 中 ,可以刪除

并且我們下次上傳的時候,只需要執行命令:

git push

選擇初始化

相當于遠程倉庫中已經有內容了
首先,必須先將這個倉庫給本地克隆一份
git clone 遠程倉庫地址 // 遠程倉庫地址后,有一個可選項,代表克隆到本地的文件夾名稱
就在這個文件夾中,進行本地操作,要上傳到遠程
git push
如果我們希望使用一下別人倉庫中的代碼,就克隆下來

我已經有過上傳的代碼了,我想修改代碼,但是本地倉庫不見了

項目經理做好一個項目的倉庫,我需要根據這個倉庫中已知的文件進行二次開發

爆肝總結git保姆級教學筆記

遠程倉庫

上傳到遠程倉庫:

在github上新建倉庫:

爆肝總結git保姆級教學筆記

爆肝總結git保姆級教學筆記

使用https上傳:

添加上傳地址:

git remote add origin https://github.com/weberWangjie/test.git # 其中的origin是變量名表示上傳地址,可以自定義

開始上傳:

git push -u origin master # 其中的origin是表示地址的那個變量名

首次推送遠程需要輸入用戶名和密碼。

第二次上傳的時候只需要:git push

將遠程代碼拉取到本地:(要先新建一個文件夾作為git管理的文件夾)

git clone 遠程倉庫地址

將本地代碼和遠程代碼同步:(在本地倉庫使用命令)

git pull

分支

一個大項目,會分很多人開發,每個人一個功能,這時候,每個功能作為一個分支,主分支只有目錄結構。當所有人將自己負責的功能開發完成的時候,再將所有分支合并到主分支上,形成一個完整的項目。

每次初始化一個git的時候,默認創建一個主要分支:master

創建分支:

git branch 分支名

查看當前分支:

git branch

切換分支:

git checkout 分支名

創建并切換到這個分支:

git checkout -b 新分支名

合并分支:(將別的分支合并到自己分支)

git merge 要合并的分支

刪除分支:(不能自己刪自己)

git branch -D 要刪除的分支

沖突

在項目開發階段,有兩個人同時操作一個倉庫,最終總會有一個人先上傳, 一個人后上傳,先上傳的能成功,后上傳的不能成功

因為,git遠程倉庫中,任何一個版本的形成,都需要從上一個版本 作為基礎 再形成新的版本
如果推送不成功,就需要在本地先有遠程的版本2,然后再形成版本3,推送才能成功

同步/拉取

git pull // 讓本地先跟遠程保持一致,然后再次推送新版本
遠程倉庫中,任何一個新版本,都必須是基于上一個版本形成的,跳版本形成:李四 – 1~3 必須是2~3

同步:

在本地新建一個跟遠程分支同名的分支名,本地切換過去,git pull

失敗,提示命令:

git branch –set-upstream-to=origin/遠程的分支名 本地的分支名

繼續git pull

提交:

在本地新建了分支,希望推送到遠程倉庫,失敗,提示命令:

git push –set-upstream origin 遠程的分支名

git add .

git commit -m “版本描述” # 為了避免代碼丟失,一定要寫完以后 commit一下

git push

git pull

git clone 遠程倉庫地址

遠程分支操作 – 給別人提交

爆肝總結git保姆級教學筆記

兩個人同時操作同一個分支,提交的時候會有先后順序,先提交的人正常提交了,后一個人提交的時候會產生沖突。因為git規定,每次提交必須是在原來的版本基礎上,但是第二個人在提交的時候,在遠程已經有了第二個版本,所以第二個人相當于從第一個版本向第三個版本提交。如下圖:

git沖突示意圖
爆肝總結git保姆級教學筆記
爆肝總結git保姆級教學筆記

沖突解決:

  1. 使用命令讓本地和遠程同步:

    git pull

    然后手動解決文件沖突

  2. 開辟新的分支,然后進行分支合并

    git fetch origin master:tmp # 使用 fetch 獲取遠程最新信息并開辟一個臨時分支 git diff tmp # 將當前分支和遠程分支進行對比 git merge tmp # 將臨時分支合并到當前分支

歷史版本回滾的沖突

本地先形成版本1

本地再形成版本2

上傳到遠程

本地回滾到版本1

再次形成版本1·2

再次上傳

報錯

因為遠程倉庫只有一條時間線,但本地有兩條,解決:

先拉取,解決沖突問題

再次上傳

分支遠程操作

默認不能提交其他分支,因為,遠程默認提交為master分支。

如果非要提交其他分支:

git --set-upstream push origin 分支名 # 將以前記錄的-u默認的master改為新的分支名 git push origin 分支名 # 臨時提交,不改默認的master

本地跟遠程倉庫進行除了master分支之外的分支,進行推送、同步,多執行一個命令,報錯提示的命令。

刪除遠程分支:

git push origin --delete 將要刪除的分支名

github服務器分支

github上一個特殊的分支:gh-pages

只要有這個分支,就可以將這個分支中的代碼作為一個服務器打開其中的文件。默認打開index.html文件,其他名稱的文件需要手動輸入。

有了這個分支之后,就可以在這個倉庫的setting中,找到打開這個分支中文件的服務器鏈接。

爆肝總結git保姆級教學筆記

爆肝總結git保姆級教學筆記

分支命名規范

master是主分支,創建倉庫的時候默認生成。不接收任何上傳,只接收dev分支合并的內容,這個分支只存儲每一次開發過程中經過測試合格的代碼。

dev是開發主分支,也可以說development/deve,初始化項目后,從master分支上開辟的新分支。這個分支也不接受任何代碼提交,只接收主功能分支合并的內容。當dev分支上的代碼測試通過以后,會被合并到主分支上。

feature-XXX是主功能分支,是從dev分支上開辟出的分支,進行各個功能的開發,開發完成后合并到dev分支上進行測試,這些分支接收開發的代碼提交。

feature-XXX-fix-XXX是功能bug解決分支,在項目運行過程中,出現的bug進行修復,是從功能分支上開辟出來的,修改完畢后合并到功能分支上,再由功能分支合并到dev分支上。

hot-fix-XXX是緊急bug修復分支,直接從master上開辟,修復緊急bug后,直接合并到master分支上。

SSH提交配置秘鑰

github上傳除了使用https協議上傳,也可以使用ssh協議來上傳。ssh上傳需要配置公鑰和秘鑰,公鑰和秘鑰是配置在自己計算機上的,所以使用了ssh之后,只能在當前計算機使用了,不像https上傳,在任何電腦上都能上傳。

但是ssh上傳需要配合秘鑰。

秘鑰配置:

ssh-keygen -t rsa -C "git全局郵箱"# 敲3次回車

查看git全局配置:

git config --list

秘鑰所在文件夾:C:UsersAdmin.ssh

爆肝總結git保姆級教學筆記

上面的秘鑰,下面后綴為pub的是公鑰,需要將公鑰配置在github賬號中。

爆肝總結git保姆級教學筆記

爆肝總結git保姆級教學筆記

打開之后,title項中自定義,key中將公鑰文件中的所有內容復制過來。

點擊添加按鈕后,需要輸入密碼驗證。

此時就將ssh配置好了,后面就可以使用ssh協議進行操作了。

爆肝總結git保姆級教學筆記

以后就可以使用這個地址進行克隆和上傳了。

推薦學習:《Git教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
女人天堂av手机在线| 五月婷婷深爱五月| 男人添女荫道口喷水视频| 免费高清一区二区三区| 狠狠97人人婷婷五月| 成年人网站大全| 日韩国产精品毛片| 99视频在线免费播放| 国模私拍视频在线观看| 亚洲精品偷拍视频| www.四虎成人| 中文字幕第一页亚洲| 熟妇人妻无乱码中文字幕真矢织江 | www.日本三级| 中文字幕国产传媒| 全黄性性激高免费视频| 午夜一区二区视频| 日韩在线一级片| 菠萝蜜视频在线观看入口| 国产 porn| 亚洲天堂网一区| 亚洲黄色av网址| 亚洲精品www.| 亚洲天堂av一区二区| 手机免费av片| 不卡影院一区二区| 国产精品探花在线播放| 一二三四视频社区在线| 色哺乳xxxxhd奶水米仓惠香| 波多野结衣家庭教师在线| 激情图片中文字幕| 五月婷婷狠狠操| 欧美一级黄色影院| wwww.国产| 蜜臀一区二区三区精品免费视频| 日本在线xxx| 天天色天天综合网| 日本天堂免费a| 久久人妻精品白浆国产| 欧美视频在线第一页| 色www免费视频| 午夜激情在线观看视频| 爱情岛论坛vip永久入口| 久久久精品三级| 一级黄色在线播放| 成人不卡免费视频| 视色,视色影院,视色影库,视色网| 手机av在线网| 337p亚洲精品色噜噜狠狠p| 成人在线免费观看视频网站| 蜜臀精品一区二区| 国产91在线亚洲| av免费播放网址| 中文字幕乱码免费| 男女高潮又爽又黄又无遮挡| 99视频在线视频| 国产精品国三级国产av| 日韩在线不卡一区| 精品久久一二三| 超碰中文字幕在线观看| 四季av一区二区三区| 在线播放黄色av| 欧美日韩亚洲第一| 国产免费一区二区视频| 丰满女人性猛交| 在线免费观看视频黄| 波多野结衣综合网| 日本男女交配视频| 一本二本三本亚洲码| 国产又爽又黄ai换脸| 色天使在线观看| 羞羞的视频在线| av网站在线不卡| 亚洲人视频在线| 毛片毛片毛片毛片毛| 污污视频在线免费| 波多野结衣三级在线| wwwjizzjizzcom| 男人添女人荫蒂免费视频| 一级黄色大片儿| 热这里只有精品| 欧美激情国内自拍| 国产免费黄色小视频| 鲁一鲁一鲁一鲁一澡| 茄子视频成人免费观看| 一区二区三区 日韩| 2021狠狠干| av动漫在线观看| 成年人免费观看的视频| 久久视频这里有精品| 无码人妻h动漫| 国产精品99久久久久久大便| 天堂8在线天堂资源bt| 天天碰免费视频| 国产又粗又爽又黄的视频| 亚洲午夜精品久久久久久人妖| 成人在线免费播放视频| 久久亚洲a v| 国产毛片久久久久久| 国产男女在线观看| 善良的小姨在线| 在线观看日本www| 欧美色图另类小说| 日日橹狠狠爱欧美超碰| 男人天堂成人网| 99热亚洲精品| 99久久久无码国产精品性色戒| 激情内射人妻1区2区3区| 中国丰满人妻videoshd| 国产精品国三级国产av| 欧美日韩激情四射| 国产又粗又长又爽视频| 一级片免费在线观看视频| 超碰在线资源站| 日本a级片在线播放| 激情五月五月婷婷| 黄色a级片免费看| 欧美一级片免费播放| 亚洲国产精品毛片av不卡在线| 北条麻妃69av| 91pony九色| www.cao超碰| 精品国产三级a∨在线| 国产精品va在线观看无码| www.xxx麻豆| 爱情岛论坛亚洲首页入口章节| 视频免费1区二区三区| 亚洲一二三不卡| 干日本少妇首页| 久久综合亚洲精品| 污网站免费在线| 日韩视频 中文字幕| 中文字幕永久视频| 国产免费一区二区三区四在线播放| 久久精品国产sm调教网站演员| 欧美精品色婷婷五月综合| av噜噜在线观看| 虎白女粉嫩尤物福利视频| 九九九九九九九九| 免费无码毛片一区二三区| 久久综合久久色| 国产天堂在线播放| 国产精品一二三在线观看| www.精品在线| 亚洲第一狼人区| 免费在线观看毛片网站| 成人免费观看cn| 国产一区二区三区乱码| 中文字幕人妻熟女人妻洋洋| gai在线观看免费高清| 最近免费中文字幕中文高清百度| 久久久久久av无码免费网站下载| 国产精品无码乱伦| 成人手机视频在线| 波多野结衣家庭教师在线| 激情视频小说图片| 国产探花在线看| 米仓穗香在线观看| 国产成年人视频网站| www国产无套内射com| 日日噜噜夜夜狠狠| 热这里只有精品| 国产乱女淫av麻豆国产| 免费看黄在线看| 99re6这里有精品热视频| 青青草原成人网| 国内精品国产三级国产aⅴ久| 警花观音坐莲激情销魂小说 | 国产视频1区2区3区| 香蕉视频网站入口| 波多野结衣网页| 欧美黑人经典片免费观看| 国产成人无码一二三区视频| 狠狠干狠狠操视频| 97超碰青青草| 成年在线观看视频| xxxx在线免费观看| 日韩网址在线观看| 九一免费在线观看| 国产天堂在线播放| 玩弄中年熟妇正在播放| 中国 免费 av| 日本美女视频一区| 精品人妻一区二区三区四区在线| 少妇一级淫免费放| 人妻少妇精品久久| 黄色录像特级片| 国产性生活一级片| 日本成人中文字幕在线| 日本免费成人网| 免费av手机在线观看| 无码人妻精品一区二区蜜桃网站| 免费观看国产视频在线| 在线播放黄色av| 草草草在线视频| 亚洲色成人一区二区三区小说| 成 年 人 黄 色 大 片大 全| 精品视频在线观看一区二区| 国产一区二区三区小说| 国产 国语对白 露脸|