十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
最近在寫業(yè)務(wù)需求的時(shí)候,總是和導(dǎo)師的代碼發(fā)生沖突,自己在處理的時(shí)候還是挺耗費(fèi)時(shí)間的。導(dǎo)師一直提醒我更改和添加代碼后要及時(shí)提交,但是我總是一股腦寫完一串后才提交,沒有養(yǎng)成良好的提交習(xí)慣。在進(jìn)行協(xié)同工作時(shí),導(dǎo)師提問git的使用原理,而我卻只能零星的幾個(gè)命令的作用?,F(xiàn)在就對(duì)常用的git命令的作用和原理進(jìn)行總結(jié),希望能夠幫助更多人少走彎路,提升開發(fā)效率。

站在用戶的角度思考問題,與客戶深入溝通,找到湖州網(wǎng)站設(shè)計(jì)與湖州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋湖州地區(qū)。
工欲善其事,必先利其器。你想要順利的使用git管理代碼,必須先下載和在本地配置好你的git環(huán)境。
當(dāng)然,配置git賬戶信息也分為項(xiàng)目級(jí)別和系統(tǒng)級(jí)別的,采用就近原則(項(xiàng)目級(jí)別優(yōu)先于系統(tǒng)級(jí)別,二者都有時(shí)采用項(xiàng)目級(jí)別的簽名),如果只有系統(tǒng)級(jí)別則以系統(tǒng)級(jí)別為準(zhǔn),但是不允許二者都沒有。通常的,設(shè)置系統(tǒng)級(jí)別賬戶信息即可。
- // 創(chuàng)建系統(tǒng)級(jí)別賬戶信息
- $ git config --global user.name "我的姓名"
- $ git config --global user.email "我的郵箱"
- // 查看系統(tǒng)級(jí)別賬戶信息
- $ git config --global user.name
- $ git config --global user.email
項(xiàng)目賬戶信息存儲(chǔ)在.git/config文件中,系統(tǒng)賬戶信息存儲(chǔ)在~/.gitconfig中。
- // 創(chuàng)建項(xiàng)目級(jí)別賬戶信息
- $ git config user.name "我的姓名"
- $ git config user.email "我的郵箱"
- // 查看項(xiàng)目級(jí)別賬戶信息
- $ git config user.name
- $ git config user.email
3.本地生成ssh密鑰,輸入并執(zhí)行 ssh-keygen -t rsa -C "xxxxx@xxxxx.com",如果執(zhí)行成功,切換到 ~/.ssh 目錄下輸入命令查看vim ~/.ssh/id_rsa.pub。
當(dāng)然你也可以使用windows電腦在c盤下進(jìn)行查找文件:
4.復(fù)制公鑰到github、gitlab以及碼云等git倉(cāng)庫(kù)(切記三個(gè)平臺(tái)可以使用同一個(gè)公鑰)
5.查看ssh密鑰是否配置成功
- //碼云
- ssh -T git@gitee.com
- //Hi hanmeimei! You've successfully authenticated, but GITEE.COM does not provide shell access.表示連接成功
- //github
- ssh -T git@github.com
- //Hi hanmeimei! You've successfully authenticated, but GitHub does not provide shell access.表示連接成功。
經(jīng)歷了以上五步,你就已經(jīng)順利完成了git環(huán)境的配置,可以和git進(jìn)行愉快地玩耍了。之所以讓你配置那么多,這是因?yàn)榭梢宰屇惚苊馐褂眯枰泐l繁輸入賬戶和密碼的https方式。具體的,通過ssh配置git可以通過本地私鑰和遠(yuǎn)程倉(cāng)庫(kù)配置的公鑰進(jìn)行匹配,判讀是否為一對(duì)密鑰,可以讓你開發(fā)效率得以提升。
前面只是開胃菜,接下來將呈上正菜,硬菜干貨。
一句話概括:git是一個(gè)開源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何項(xiàng)目。
git最核心的特點(diǎn)就是分布式,其實(shí)就是去中心化,讓它之間的依賴變?nèi)酢K前凑赵獢?shù)據(jù)方式存儲(chǔ)內(nèi)容數(shù)據(jù),將文件的元信息通過SHA-1哈希算法進(jìn)行處理隱藏在類似.svn、.cvs等文件中。
git的其它幾個(gè)特點(diǎn)是:
關(guān)于git是如何進(jìn)行工作和代碼管理的,那么我們得先去了解git的工作區(qū)域是如何劃分的,這樣我們才能在合適的區(qū)域使用合適的命令。
在本地系統(tǒng)中的git劃分為:工作區(qū)、暫存區(qū)和本地庫(kù)(版本庫(kù)),它們的大致作用如下:
本地系統(tǒng)的git工作區(qū)域
在上圖所示流程中,我們可以看到本地庫(kù)也是棧存儲(chǔ)的,在最后提交的文件會(huì)存放在最上面,在進(jìn)行g(shù)it回滾的時(shí)候取得head文件也是最后一次提交的文件內(nèi)容。
當(dāng)然將項(xiàng)目文件只存儲(chǔ)在本地倉(cāng)庫(kù)是沒有任何意義的,我們使用git的目的不就是為了協(xié)同開發(fā)嘛?那么我們就應(yīng)該將代碼從本地庫(kù)上傳到遠(yuǎn)程庫(kù)。
完整的git工作區(qū)域
簡(jiǎn)而言之,git的工作流程就是:
git的工作就是創(chuàng)建和保存項(xiàng)目的快照以及與之后的快照進(jìn)行對(duì)比,接下來就讓我們上手實(shí)踐git常用命令。
git fetch和git pull都是進(jìn)行遠(yuǎn)程文件拉取,區(qū)別在于git pull是將指定分支的所有文件合并到本地,而git fetch是將指定分支的更新文件進(jìn)行拉取,但是不會(huì)進(jìn)行合并
git checkout --:撤銷工作區(qū)的修改操作
git reset HEAD:撤銷暫存區(qū)的最后一次提交操作(不會(huì)覆蓋工作區(qū))
git reset --(soft|mixed|hard) |<指定commit id>:將當(dāng)前代碼回滾到指定版本
在本篇文章中是筆者在工作實(shí)際開發(fā)和閱讀文章總結(jié)的,可以快速讓你上手git開發(fā),事半功倍,希望對(duì)你工作和招聘有所幫助。