編輯器&Mac
1、編輯器的使用vs code
插件
git輔助工具,可查看代碼的書(shū)寫(xiě)者:Git Blame
2、 Mac工具使用
強(qiáng)大終端 item2
3、在 macOS 中完美配置文件名大小寫(xiě)敏感(解決git默認(rèn)對(duì)大小寫(xiě)不敏感問(wèn)題)解決git大小寫(xiě)不敏感
知識(shí)篇 一、git使用一般企業(yè)中使用代碼管理工具Git開(kāi)發(fā)時(shí)都是通過(guò)拉分支進(jìn)行功能細(xì)致開(kāi)發(fā),所以掌握git的分支操作時(shí)必要的
使用Git下載指定分支命令為:git clone -b 分支名倉(cāng)庫(kù)地址
初始開(kāi)發(fā)git操作流程
本地創(chuàng)建公鑰ssh-keygen -t rsa -C "郵箱"并配置
克隆最新主分支項(xiàng)目代碼git clone 地址
創(chuàng)建本地分支git branch 分支名
查看本地分支git branch
查看遠(yuǎn)程分支git branch -a
切換分支git checkout 分支名(一般修改未提交則無(wú)法切換,大小寫(xiě)問(wèn)題經(jīng)常會(huì)有,可強(qiáng)制切換git checkout 分支名 -f非必須慎用)
將本地分支推送到遠(yuǎn)程分支git push <遠(yuǎn)程倉(cāng)庫(kù)> <本地分支>:<遠(yuǎn)程分支>
必備知識(shí)點(diǎn)概念:
Remote:遠(yuǎn)程主倉(cāng)庫(kù);
Repository:本地倉(cāng)庫(kù);
Index:Git追蹤樹(shù),暫存區(qū);
workspace:本地工作區(qū)(即你編輯器的代碼)
一般操作流程:《工作區(qū)》-> git status查看狀態(tài) -> git add .將所有修改加入暫存區(qū)-> git commit -m "提交描述"將代碼提交到本地倉(cāng)庫(kù)->git push將本地倉(cāng)庫(kù)代碼更新到遠(yuǎn)程倉(cāng)庫(kù)
一、git remote為遠(yuǎn)程倉(cāng)庫(kù)指定別名,以便于管理遠(yuǎn)程主機(jī),默認(rèn)只有一個(gè)時(shí)為origin
查看主機(jī)名:git remote
查看主機(jī)名即網(wǎng)址:git remote -v
默認(rèn)克隆遠(yuǎn)程倉(cāng)庫(kù)到本地時(shí),遠(yuǎn)程主機(jī)為origin,如需指定別名可使用git clone -o <別名> <遠(yuǎn)程git地址>
查看主機(jī)的詳細(xì)信息git remote show <主機(jī)名>
添加遠(yuǎn)程主機(jī)git remote add <主機(jī)名> <網(wǎng)址>
刪除遠(yuǎn)程主機(jī)git remote rm <主機(jī)名>
修改遠(yuǎn)程主機(jī)的別名:git remote rename <原主機(jī)名> <新主機(jī)名>
二、git fetch將某個(gè)遠(yuǎn)程主機(jī)的更新,全部/分支 取回本地(此時(shí)之更新了Repository)它取回的代碼對(duì)你本地的開(kāi)發(fā)代碼沒(méi)有影響,如需徹底更新需合并或使用git pull
遠(yuǎn)程主機(jī)的更新,全部取回本地git fetch <遠(yuǎn)程主機(jī)名>;
將遠(yuǎn)程倉(cāng)庫(kù)特定分支更新到本地git fetch <遠(yuǎn)程主機(jī)名> <分支名>
如果需要將更新拉取但本地工作代碼需要合并到本地某一分支git merge <被合并的遠(yuǎn)程分支>或者在此基礎(chǔ)上創(chuàng)建出新分支并切換git checkout -b <分支名> <在此分支上創(chuàng)建>
三、git pull拉取遠(yuǎn)程主機(jī)某分支的更新,再與本地的指定分支合并(相當(dāng)與fetch加上了合并分支功能的操作)
拉取遠(yuǎn)程某分支并與本地某一分支合并(沒(méi)有則默認(rèn)會(huì)創(chuàng)建):git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>:<本地分支名>
如果遠(yuǎn)程分支是與當(dāng)前所在分支合并,則冒號(hào)后面的部分可以省略:git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>
如果當(dāng)前分支與遠(yuǎn)程分支存在追蹤關(guān)系,則可以省略遠(yuǎn)程分支名:git pull <遠(yuǎn)程主機(jī)名>
如果當(dāng)前分支只有一個(gè)追蹤分支,則遠(yuǎn)程主機(jī)名都可以省略:git pull
三、git push將本地分支的更新,推送到遠(yuǎn)程主機(jī),其命令格式與git pull相似
將本地分支推送到遠(yuǎn)程分支:git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
如果省略遠(yuǎn)程分支名,則默認(rèn)為將本地分支推送到與之關(guān)聯(lián)的遠(yuǎn)程分支:(一般設(shè)置本地分支和與之關(guān)聯(lián)的遠(yuǎn)程分支同名,防止混淆)git push <遠(yuǎn)程主機(jī)名> <本地分支名>
如果對(duì)應(yīng)的遠(yuǎn)程分支不存在,則會(huì)被創(chuàng)建(m默認(rèn)與本地分支同名)
如果省略本地分支名,則表示刪除指定的遠(yuǎn)程分支,這等同于推送一個(gè)空的本地分支到對(duì)應(yīng)遠(yuǎn)程分支:git push origin :<遠(yuǎn)程分支> 等同于 git push origin --delete <遠(yuǎn)程分支>
如果當(dāng)前分支與遠(yuǎn)程分支之間存在追蹤關(guān)系,則本地分支和遠(yuǎn)程分支都可以省略git push origin
如果當(dāng)前分支只有一個(gè)追蹤分支,那么主機(jī)名也可以省略:git push
如果當(dāng)前分支與多個(gè)主機(jī)存在追蹤關(guān)系(使用場(chǎng)景相對(duì)來(lái)說(shuō)較少),可以使用-u指定默認(rèn)推送主機(jī)git push -u origin <主機(jī)名>設(shè)置時(shí)候需推送便可以直接使用git push
將本地的所有分支都推送到遠(yuǎn)程主機(jī):git push --all origin
如果遠(yuǎn)程主機(jī)的版本比本地版本更新,推送時(shí)Git會(huì)報(bào)錯(cuò),要求先在本地做git pull合并差異,然后再推送到遠(yuǎn)程主機(jī)。如果一定要推送,可以使用--force選項(xiàng)(謹(jǐn)慎使用,除非你非常確認(rèn)):git push --force origin
注意:分支推送順序的格式為<來(lái)源地>:<目的地>,所以git pull格式:<遠(yuǎn)程分支>:<本地分支>,git push格式為:<本地分支>:<遠(yuǎn)程分支>。
四、分支操作創(chuàng)建本地分支:git branch test:(創(chuàng)建名為test的本地分支)
切換分支:git checkout test:(切換到test分支)
創(chuàng)建并切換分支git checkout -b test:(相當(dāng)于以上兩條命令的合并)
查看本地分支:git branch
查看遠(yuǎn)程倉(cāng)庫(kù)所有分支:git branch -a
刪除本地分支:git branch -d test:(刪除本地test分支)
分支合并:git merge master:(將master分支合并到當(dāng)前分支)
本地分支重命名:git branch -m oldName newName
遠(yuǎn)程分支重命名:
重命名遠(yuǎn)程分支對(duì)應(yīng)的本地分支:git branch -m oldName newName;
刪除遠(yuǎn)程分支:git push --delete origin oldName;
上傳新命名的本地分支:git push origin newName;
把修改后的本地分支與遠(yuǎn)程分支關(guān)聯(lián):git branch --set-upstream-to origin/newName
分支關(guān)聯(lián):
查看當(dāng)前的本地分支與遠(yuǎn)程分支的關(guān)聯(lián)關(guān)系:git branch -vv
把當(dāng)前本地分支與遠(yuǎn)程origin的某分支進(jìn)行關(guān)聯(lián)處理(通過(guò) --set-upstream-to 命令):git branch --set-upstream-to=origin/feature/clear-server-eslint-error_180713
分支差異查看
查看本地當(dāng)前分支與遠(yuǎn)程某一分支的差異:git diff origin/feature/reserve-3.4
查看本地特定分支與遠(yuǎn)程分支的差異:git diff master origin/feature/reserve-3.4 (查看本地master分支與遠(yuǎn)程feature/reserve-3.4分支的差異,如圖)
五、修改撤銷git checkout -- <文件名>:丟棄工作區(qū)的修改,就是讓這個(gè)文件回到最近一次git commit或git add時(shí)的狀態(tài)。
git reset HEAD <文件名>:把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū)。
git reset --hard commit_id:git版本回退,回退到特定的commit_id版本
流程:
git log查看提交歷史,以便確定要回退到哪個(gè)版本(commit 之后的即為ID);
git reset --hard commit_id:回退到commit_id版本;
git reflog查看命令歷史,以便確定要回到未來(lái)的哪個(gè)版本;
更新遠(yuǎn)程代碼到本地
git fetch origin master(分支)
git pull // 將fetch下來(lái)的代碼pull到本地
git diff master origin/master // 查看本地分支代碼和遠(yuǎn)程倉(cāng)庫(kù)的差異
拉取遠(yuǎn)程分支并創(chuàng)建本地分支
git checkout -b 本地分支名 origin/遠(yuǎn)程分支名:使用此方式會(huì)在本地新建分支,并自動(dòng)切換到該本地分支;
git fetch origin 遠(yuǎn)程分支名:本地分支名:使用此方式會(huì)在本地新建分支,但是不會(huì)自動(dòng)切換到該本地分支,需要手動(dòng)checkout。
六、配置git config -l // 陳列出所有的git配置項(xiàng)
git config core.ignorecase false //配置git不忽略大小寫(xiě)(默認(rèn)忽略)參照(git 大小寫(xiě))
七、暫存git stash 可用來(lái)暫存當(dāng)前正在進(jìn)行的工作,比如想pull 最新代碼又不想commit, 或者另為了修改一個(gè)緊急的bug,先stash,使返回到自己上一個(gè)commit, 改完bug之后再stash pop, 繼續(xù)原來(lái)的工作;
添加緩存棧:git stash;
查看緩存棧:git stash list;
推出緩存棧:git stash pop;
取出特定緩存內(nèi)容:git stash apply stash@{1};
“積跬步、行千里”—— 持續(xù)更新中~,喜歡留下個(gè)贊哦!
往期經(jīng)典好文:
JavaScript經(jīng)典面試題匯總
我的前端面試日記
相關(guān)好文推薦:
http報(bào)文詳解
我的博客即將搬運(yùn)同步至騰訊云+社區(qū),邀請(qǐng)大家一同入駐:https://cloud.tencent.com/dev...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96219.html
編輯器&Mac 1、編輯器的使用vs code 插件 git輔助工具,可查看代碼的書(shū)寫(xiě)者:Git Blame 2、 Mac工具使用 強(qiáng)大終端 item2 3、在 macOS 中完美配置文件名大小寫(xiě)敏感(解決git默認(rèn)對(duì)大小寫(xiě)不敏感問(wèn)題)解決git大小寫(xiě)不敏感 知識(shí)篇 一、git使用 一般企業(yè)中使用代碼管理工具Git開(kāi)發(fā)時(shí)都是通過(guò)拉分支進(jìn)行功能細(xì)致開(kāi)發(fā),所以掌握git的分支操作時(shí)必要的 使用...
摘要:本文以常見(jiàn)的互聯(lián)網(wǎng)公司敏捷開(kāi)發(fā)方式為例簡(jiǎn)要說(shuō)明一個(gè)需求迭代過(guò)程中所需的各種能力階段一方案設(shè)計(jì)開(kāi)發(fā)需求文檔的理解抓住重點(diǎn)主要關(guān)注數(shù)據(jù)的流向從哪里來(lái)到哪里去現(xiàn)有工程代碼梳理快速定位代碼所在數(shù)據(jù)流向頁(yè)面接口開(kāi)發(fā)者工具抓包工具協(xié)議的 本文以常見(jiàn)的互聯(lián)網(wǎng)公司敏捷開(kāi)發(fā)方式為例, 簡(jiǎn)要說(shuō)明一個(gè)需求迭代過(guò)程中所需的各種能力. 階段一: 方案設(shè)計(jì) 開(kāi)發(fā)需求文檔的理解(抓住重點(diǎn), 主要關(guān)注數(shù)據(jù)的流向, ...
摘要:借著產(chǎn)品層面的功能和視覺(jué)升級(jí),我們用對(duì)它進(jìn)行了一次技術(shù)重構(gòu)。前端優(yōu)化是一個(gè)讓人技術(shù)提升的,希望你也能從這里學(xué)到一些東西。年最流行的前端鏈接我們每周會(huì)給多名前端開(kāi)發(fā)者發(fā)送新聞郵件。 面試 -- 網(wǎng)絡(luò) HTTP 現(xiàn)在面試門檻越來(lái)越高,很多開(kāi)發(fā)者對(duì)于網(wǎng)絡(luò)知識(shí)這塊了解的不是很多,遇到這些面試題會(huì)手足無(wú)措。本篇文章知識(shí)主要集中在 HTTP 這塊。文中知識(shí)來(lái)自 《圖解 HTTP》與維基百科,若有錯(cuò)...
閱讀 1653·2021-11-02 14:42
閱讀 539·2021-10-18 13:24
閱讀 982·2021-10-12 10:12
閱讀 1835·2021-09-02 15:41
閱讀 3219·2019-08-30 15:56
閱讀 2888·2019-08-29 16:09
閱讀 2070·2019-08-29 11:13
閱讀 3637·2019-08-28 18:06