Git學(xué)習(xí)筆記

一、常用終端指令

$ pwd用于查看當(dāng)前目錄

$ mkdir learngit 創(chuàng)建一個(gè)名為learngit的空目錄,即文件夾;

$ git init 初始化git倉庫

$ ls -ah 在git倉庫的目錄可以用此命令查看到.git目錄,這個(gè).git目錄默認(rèn)是隱藏的。

既可以在一個(gè)空目錄下創(chuàng)建git倉庫,也可以在一個(gè)已經(jīng)有文件的目錄下創(chuàng)建git倉庫。

二、初始化倉庫

初始化一個(gè)Git倉庫,使用git init命令。

三、添加文件到倉庫

添加文件到Git倉庫,分兩步:

  1. 使用命令git add <file>,注意,可反復(fù)多次使用,添加多個(gè)文件; // 注意:執(zhí)行這一命令時(shí),文件一定要在git倉庫所在的目錄下,即使是子目錄下也可以。因?yàn)檫@是一個(gè)Git倉庫,放到其他地方Git再厲害也找不到這個(gè)文件。
  2. 使用命令git commit -m <message>,完成。

message是提交文件的記錄信息。

(均在當(dāng)前目錄下執(zhí)行)

要隨時(shí)掌握工作區(qū)的狀態(tài),使用git status命令。

如果git status告訴你有文件被修改過,用git diff可以查看修改內(nèi)容。git diff顧名思義就是查看difference,顯示的格式正是Unix通用的diff格式。

3、添加修改文件

提交修改和提交新文件到倉庫是一樣的步驟和命令

git add <file>

git commit -m

四、版本回退

git log 命令用于查看查看git版本控制系統(tǒng)的歷史提交記錄, git log命令顯示從最近到最遠(yuǎn)的提交日志; 如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上—pretty=oneline參數(shù):

版本號(hào)(commit id)

首先,在Git中,用HEAD表示當(dāng)前版本, 上一個(gè)版本就是HEAD,上上一個(gè)版本就是HEAD,當(dāng)然往上100個(gè)版本寫100個(gè)比較容易數(shù)不過來,所以寫成HEAD~100.

git reset --hard HEAD^ 重置當(dāng)前版本為上一個(gè)版本

總結(jié)一下:

1. HEAD指向的版本就是當(dāng)前版本,因此,Git允許我們?cè)诎姹镜臍v史之間穿梭,使用命令git reset --hard commit_id。 2.穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個(gè)版本。 3.要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個(gè)版本。 Git的版本回退速度非???,因?yàn)镚it在內(nèi)部有個(gè)指向當(dāng)前版本的HEAD指針,所以它根據(jù)指針指向回退到指定版本。

五、工作區(qū)和暫存區(qū)

Git和其他版本控制系統(tǒng)如SVN的一個(gè)不同之處就是有暫存區(qū)的概念。

工作區(qū)(Working Directory)——就是你在電腦里能看到的目錄。

版本庫(Repository)——工作區(qū)有一個(gè)隱藏目錄.git,這個(gè)不算工作區(qū),而是Git的版本庫。

Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動(dòng)創(chuàng)建的第一個(gè)分支master,以及指向master的一個(gè)指針叫HEAD。

前面講了我們把文件往Git版本庫里添加的時(shí)候,是分兩步執(zhí)行的:

第一步是用git add把文件添加進(jìn)去,實(shí)際上就是把(工作區(qū)的)文件修改添加到暫存區(qū);

第二步是用git commit提交更改,實(shí)際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。

因?yàn)槲覀儎?chuàng)建Git版本庫時(shí),Git自動(dòng)為我們創(chuàng)建了唯一一個(gè)master分支,所以,現(xiàn)在,git commit就是往master分支上提交更改。

你可以簡(jiǎn)單理解為,需要提交的文件修改通通放到暫存區(qū),然后,一次性提交暫存區(qū)的所有修改。

六、管理修改

為什么Git比其他版本控制系統(tǒng)設(shè)計(jì)得優(yōu)秀,因?yàn)镚it跟蹤并管理的是修改,而非文件。m

你會(huì)問,什么是修改?比如你新增了一行,這就是一個(gè)修改,刪除了一行,也是一個(gè)修改,更改了某些字符,也是一個(gè)修改,刪了一些又加了一些,也是一個(gè)修改,甚至創(chuàng)建一個(gè)新文件,也算一個(gè)修改。

撤銷修改

場(chǎng)景1:當(dāng)你亂改了工作區(qū)某個(gè)文件的內(nèi)容,想直接丟棄工作區(qū)的修改時(shí),用命令git checkout -- file // 用于撤銷工作區(qū)的修改

場(chǎng)景2:當(dāng)你不但亂改了工作區(qū)某個(gè)文件的內(nèi)容,還添加到了暫存區(qū)時(shí),想丟棄修改,分兩步,第一步用命令git reset HEAD <file>,就回到了場(chǎng)景1,第二步按場(chǎng)景1操作。

git reset命令既可以回退版本,也可以把暫存區(qū)的修改回退到工作區(qū)。當(dāng)我們用HEAD時(shí),表示最新的版本。

場(chǎng)景3:已經(jīng)提交了不合適的修改到版本庫時(shí),想要撤銷本次提交,參考版本回退一節(jié),不過前提是沒有推送到遠(yuǎn)程庫。

七、刪除文件

命令git rm用于刪除一個(gè)文件。

1. 如果一個(gè)文件已經(jīng)被提交到版本庫,那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會(huì)丟失最近一次提交后你修改的內(nèi)容。(所以,不管是git還是SVN, 每天及時(shí)提交代碼是重要的。)

git checkout其實(shí)是用版本庫里的版本替換工作區(qū)的版本,無論工作區(qū)是修改還是刪除,都可以“一鍵還原”。所以可以很輕松地將誤刪除的文件恢復(fù)到最新版本。

2. 確實(shí)要從版本庫中刪除該文件,那就用命令git rm <file>刪掉,并且git commit -m:

使用git rm <file>和git add<file>效果是一樣的.

八、 遠(yuǎn)程倉庫

Git 遠(yuǎn)程倉庫

1. Git是分布式版本控制系統(tǒng),同一個(gè)Git倉庫,可以分布到不同的機(jī)器上。怎么分布呢?最早,肯定只有一臺(tái)機(jī)器有一個(gè)原始版本庫,此后,別的機(jī)器可以“克隆”這個(gè)原始版本庫,而且每臺(tái)機(jī)器的版本庫其實(shí)都是一樣的,并沒有主次之分。

實(shí)際情況往往是這樣,找一臺(tái)電腦充當(dāng)服務(wù)器的角色,每天24小時(shí)開機(jī),其他每個(gè)人都從這個(gè)“服務(wù)器”倉庫克隆一份到自己的電腦上,并且各自把各自的提交推送到服務(wù)器倉庫里,也從服務(wù)器倉庫中拉取別人的提交。

本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的。

2. 獲取SSH Key (mac)

2.1 打開終端進(jìn)入用戶主目錄

2.2 ls -ah 可以查看到用戶主目錄下是否存在.ssh目錄

2.3 進(jìn)入.ssh目錄(cd ..ssh) 查看目錄下是否有id_rsa(私鑰)和id_rsa.pub(公鑰)兩個(gè)文件 (ls -ah)

2.4 進(jìn)入id_rsa.pub, 獲取到里面的內(nèi)容粘貼復(fù)制到github賬戶的settings ssh keys中。

注意: 創(chuàng)建SSH key的終端指令:ssh-keygen -t rsa -C “15036063987@163.com” (注冊(cè)github賬號(hào)的郵箱地址)

3. 為什么GitHub需要SSH Key呢?因?yàn)镚itHub需要識(shí)別出你推送的提交確實(shí)是你推送的,而不是別人冒充的,而Git支持SSH協(xié)議,所以,GitHub只要知道了你的公鑰,就可以確認(rèn)只有你自己才能推送。

GitHub允許你添加多個(gè)Key,可以在多臺(tái)電腦提交。

注意:以下命令均需要進(jìn)入到本地倉庫目錄下執(zhí)行:

本地倉庫關(guān)聯(lián)遠(yuǎn)程倉庫,使用命令git remote add origin 遠(yuǎn)程倉庫地址。(刪除本地倉庫與遠(yuǎn)程倉庫的關(guān)聯(lián)指令:git remote remove origin)

關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

從遠(yuǎn)程倉庫克隆

  1. 要克隆一個(gè)倉庫,首先必須知道倉庫的地址,然后使用git clone 遠(yuǎn)程倉庫地址 命令克隆。

2. Git支持多種協(xié)議,包括https,但通過ssh支持的原生git協(xié)議速度最快。

九:分支管理(此節(jié)有待于深入學(xué)習(xí))

1. 創(chuàng)建與合并分支

Git鼓勵(lì)大量使用分支:

查看分支:git branch 查看當(dāng)前分支, git branch命令會(huì)列出所有分支,當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號(hào)。

創(chuàng)建分支:git branch <name>

切換分支:git checkout <name>

創(chuàng)建+切換分支:git checkout -b <name> git checkout命令加上-b參數(shù)表示創(chuàng)建并切換

合并某分支到當(dāng)前分支:git merge <name> 命令用于合并指定分支到當(dāng)前分支,一般先切換到當(dāng)前分支,再執(zhí)行此命令。

刪除分支:git branch -d <name>

2.解決沖突

當(dāng)Git無法自動(dòng)合并分支時(shí),就必須首先解決沖突。解決沖突后,再提交,合并完成。(不需要你再合并分支), 最后刪除創(chuàng)建的分支就可以了。

解決沖突就是把Git合并失敗的文件手動(dòng)編輯為我們希望的內(nèi)容,再提交。

用git log --graph命令可以看到分支合并圖。

$ git log --graph --pretty=oneline —abbrev-commit 看到極為簡(jiǎn)單的提交歷史。

3.分支管理策略

通常,合并分支時(shí),如果可能,Git會(huì)用Fast forward模式,但這種模式下,刪除分支后,會(huì)丟掉分支信息。

如果要強(qiáng)制禁用Fast forward模式,Git就會(huì)在merge時(shí)生成一個(gè)新的commit,這樣,從分支歷史上就可以看出分支信息。

git merge --no-ff -m "merge with no-ff" dev // 合并dev分支,—no—ff參數(shù)表示禁用Fast forward.

因?yàn)楸敬魏喜⒁獎(jiǎng)?chuàng)建一個(gè)新的commit,所以加上-m參數(shù),把commit描述寫進(jìn)去。

注意:不使用Fast forward模式,merge分支后(刪除分支),查看提交歷史,會(huì)有分支的歷史提交信息,有兩個(gè)commit id, 能看出來曾經(jīng)做過合并, 而fast forward合并模式就看不出來曾經(jīng)做過合并,并且只有一個(gè)commit id.

4.分支策略

在實(shí)際開發(fā)中,我們應(yīng)該按照幾個(gè)基本原則進(jìn)行分支管理:

首先,master分支應(yīng)該是非常穩(wěn)定的,也就是僅用來發(fā)布新版本,平時(shí)不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是說,dev分支是不穩(wěn)定的,到某個(gè)時(shí)候,比如1.0版本發(fā)布時(shí),再把dev分支合并到master上,在master分支發(fā)布1.0版本;

你和你的小伙伴們每個(gè)人都在dev分支上干活,每個(gè)人都有自己的分支,時(shí)不時(shí)地往dev分支上合并就可以了。

Bug分支

軟件開發(fā)中,有了bug就需要修復(fù),在Git中,由于分支是如此的強(qiáng)大,所以,每個(gè)bug都可以通過一個(gè)新的臨時(shí)分支來修復(fù),修復(fù)后,合并分支,然后將臨時(shí)分支刪除。

當(dāng)手頭工作沒有完成時(shí),先把工作現(xiàn)場(chǎng)git stash(可以把當(dāng)前工作現(xiàn)場(chǎng)“儲(chǔ)藏”起來,等以后恢復(fù)現(xiàn)場(chǎng)后繼續(xù)工作:)一下,然后去修復(fù)bug,修復(fù)后,再git stash pop,回到工作現(xiàn)場(chǎng)。

Git stash list 查看所有stash內(nèi)容

一是用git stash apply恢復(fù),但是恢復(fù)后,stash內(nèi)容并不刪除,你需要用git stash drop來刪除;

git stash apply stash@{0} // 恢復(fù)stash列表中的第一個(gè)工作現(xiàn)場(chǎng);

開發(fā)一個(gè)新feature,最好新建一個(gè)分支;如果要丟棄一個(gè)沒有被合并過的分支,可以通過git branch -D <name>強(qiáng)行刪除。如果要強(qiáng)行刪除,需要使用大寫的-D參數(shù)。

多人協(xié)作(還需要深入學(xué)習(xí))

因此,多人協(xié)作的工作模式通常是這樣:

  1. 首先,可以試圖用git push origin <branch-name>推送自己的修改
  2. 如果推送失敗,則因?yàn)檫h(yuǎn)程分支比你的本地更新,需要先用git pull試圖合并;
  3. 如果合并有沖突,則解決沖突,并在本地提交;
  4. 沒有沖突或者解決掉沖突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,則說明本地分支和遠(yuǎn)程分支的鏈接關(guān)系沒有創(chuàng)建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

這就是多人協(xié)作的工作模式,一旦熟悉了,就非常簡(jiǎn)單。

①查看遠(yuǎn)程庫信息,使用git remote -v; ②本地新建的分支如果不推送到遠(yuǎn)程,對(duì)其他人就是不可見的; ③從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交; ④在本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支,使用git checkout -b branch-name origin/branch-name,本地和遠(yuǎn)程分支的名稱最好一致; ⑤建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián),使用git branch --set-upstream branch-name origin/branch-name; ⑥從遠(yuǎn)程抓取分支,使用git pull,如果有沖突,要先處理沖突。

10、Rebase

rebase操作可以把本地未push的分叉提交歷史整理成直線;(所以,要使分叉的提交歷史看上去更直觀,先執(zhí)行g(shù)it rebase, 再執(zhí)行g(shù)it push origin master.)

rebase操作的特點(diǎn):把分叉的提交歷史“整理”成一條直線,看上去更直觀。缺點(diǎn)是本地的分叉提交已經(jīng)被修改過了。

rebase的目的是使得我們?cè)诓榭礆v史提交的變化時(shí)更容易,因?yàn)榉植娴奶峤恍枰綄?duì)比。

11、標(biāo)簽管理

發(fā)布一個(gè)版本時(shí),我們通常先在版本庫中打一個(gè)標(biāo)簽(tag),這樣,就唯一確定了打標(biāo)簽時(shí)刻的版本。將來無論什么時(shí)候,取某個(gè)標(biāo)簽的版本,就是把那個(gè)打標(biāo)簽的時(shí)刻的歷史版本取出來。所以,標(biāo)簽也是版本庫的一個(gè)快照。

Git的標(biāo)簽雖然是版本庫的快照,但其實(shí)它就是指向某個(gè)commit的指針。創(chuàng)建和刪除標(biāo)簽都是瞬間完成的。

tag就是一個(gè)讓人容易記住的有意義的名字,它跟某個(gè)commit綁在一起。

1.創(chuàng)建標(biāo)簽

在Git中打標(biāo)簽非常簡(jiǎn)單,首先,切換到需要打標(biāo)簽的分支上,然后,敲命令git tag <name>就可以打一個(gè)新標(biāo)簽:

可以用命令git tag查看所有標(biāo)簽:

默認(rèn)標(biāo)簽是打在最新提交的commit上的

命令git tag <tagname>用于新建一個(gè)標(biāo)簽,默認(rèn)為HEAD,也可以指定一個(gè)commit id

命令git tag -a <tagname> -m “blablabla…"可以指定標(biāo)簽信息;

用-a指定標(biāo)簽名,-m指定說明文字:

命令git tag可以查看所有標(biāo)簽

git show <tagname>查看標(biāo)簽信息:

2.操作標(biāo)簽信息

命令git push origin <tagname>可以推送一個(gè)本地標(biāo)簽; 命令git push origin --tags可以推送全部未推送過的本地標(biāo)簽; 命令git tag -d <tagname>可以刪除一個(gè)本地標(biāo)簽; 命令git push origin :refs/tags/<tagname>可以刪除一個(gè)遠(yuǎn)程標(biāo)簽。

12、使用Github

在GitHub上,可以任意Fork開源倉庫; 自己擁有Fork后的倉庫的讀寫權(quán)限; 可以推送pull request給官方倉庫來貢獻(xiàn)代碼。(是否接受,由別人來定)

13、使用碼云

git remote rm origin 刪除已經(jīng)關(guān)聯(lián)的遠(yuǎn)程倉庫

git remote -v 查看遠(yuǎn)程倉庫信息

git remote add origin(遠(yuǎn)程倉庫名稱,可以自己起) git@gitee.com:liaoxuefeng/learngit.git(倉庫路徑) // 關(guān)聯(lián)遠(yuǎn)程倉庫

一個(gè)本地倉庫可以關(guān)聯(lián)多個(gè)遠(yuǎn)程倉庫(例如既關(guān)聯(lián)GitHub,又關(guān)聯(lián)碼云)

git本身是分布式版本控制系統(tǒng),所以可以同步到多個(gè)遠(yuǎn)程倉庫。使用多個(gè)遠(yuǎn)程庫時(shí),我們要注意,git給遠(yuǎn)程庫起的默認(rèn)名稱是origin,如果有多個(gè)遠(yuǎn)程庫,我們需要用不同的名稱來標(biāo)識(shí)不同的遠(yuǎn)程庫。

git push 本地代碼時(shí),可以加上遠(yuǎn)程倉庫名稱以及遠(yuǎn)程倉庫鏈接。

14、忽略特殊文件

在Git工作區(qū)的根目錄下創(chuàng)建一個(gè)特殊的.gitignore文件,然后把要忽略的文件名填進(jìn)去,Git就會(huì)自動(dòng)忽略這些文件。

不需要從頭寫.gitignore文件,GitHub已經(jīng)為我們準(zhǔn)備了各種配置文件,只需要組合一下就可以使用了。所有配置文件可以直接在線瀏覽:https://github.com/github/gitignore

忽略文件的原則是:

  1. 忽略操作系統(tǒng)自動(dòng)生成的文件,比如縮略圖等;
  2. 忽略編譯生成的中間文件、可執(zhí)行文件等,也就是如果一個(gè)文件是通過另一個(gè)文件自動(dòng)生成的,那自動(dòng)生成的文件就沒必要放進(jìn)版本庫,比如Java編譯產(chǎn)生的.class文件;
  3. 忽略你自己的帶有敏感信息的配置文件,比如存放口令的配置文件。

如果一個(gè)文件被 .gitignore忽略了,使用如下指令可將該文件強(qiáng)制添加到Git

$ git add -f App.class

用git check-ignore命令檢查某一個(gè)文件被忽略情況

忽略某些文件時(shí),需要編寫.gitignore; .gitignore文件本身要放到版本庫里,并且可以對(duì).gitignore做版本管理!

15、配置別名

$ git config --global alias.st status

$ git config --global alias.co checkout

$ git config --global alias.ci commit

$ git config --global alias.br branch

--global參數(shù)是全局參數(shù),也就是這些命令在這臺(tái)電腦的所有Git倉庫下都有用。

撤銷修改一節(jié)中,我們知道,命令git reset HEAD file可以把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū)。既然是一個(gè)unstage操作,就可以配置一個(gè)unstage別名:

$ git config --global alias.unstage 'reset HEAD'

配置一個(gè)git last,讓其顯示最后一次提交信息:

$ git config --global alias.last 'log -1’

還可以配置:

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' —abbrev-commit"

配置文件

配置Git的時(shí)候,加上--global是針對(duì)當(dāng)前用戶的所有Git倉庫起作用的,如果不加,那只針對(duì)當(dāng)前的倉庫起作用。

每個(gè)倉庫的Git配置文件都放在.git/config文件中:

$ cat .git/config

別名就在[alias]后面,要?jiǎng)h除別名,直接把對(duì)應(yīng)的行刪掉即可。

而當(dāng)前用戶的Git配置文件放在用戶主目錄下的一個(gè)隱藏文件.gitconfig中:

$ cat .gitconfig

配置別名也可以直接修改這個(gè)文件,如果改錯(cuò)了,可以刪掉文件重新通過命令配置。

16、搭建Git服務(wù)器

1、搭建Git服務(wù)器非常簡(jiǎn)單,通常10分鐘即可完成;

搭建Git服務(wù)器需要準(zhǔn)備一臺(tái)運(yùn)行Linux的機(jī)器,強(qiáng)烈推薦用Ubuntu或Debian,這樣,通過幾條簡(jiǎn)單的apt命令就可以完成安裝。

假設(shè)你已經(jīng)有sudo權(quán)限的用戶賬號(hào),下面,正式開始安裝。

第一步,安裝git:

$ sudo apt-get install git

第二步,創(chuàng)建一個(gè)git用戶,用來運(yùn)行g(shù)it服務(wù):

$ sudo adduser git

第三步,創(chuàng)建證書登錄:

收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導(dǎo)入到/home/git/.ssh/authorized_keys文件里,一行一個(gè)。

第四步,初始化Git倉庫:

先選定一個(gè)目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:

$ sudo git init --bare sample.git

Git就會(huì)創(chuàng)建一個(gè)裸倉庫,裸倉庫沒有工作區(qū),因?yàn)榉?wù)器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到服務(wù)器上去改工作區(qū),并且服務(wù)器上的Git倉庫通常都以.git結(jié)尾。然后,把owner改為git:

$ sudo chown -R git:git sample.git

第五步,禁用shell登錄:(有點(diǎn)不解)

出于安全考慮,第二步創(chuàng)建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

改為:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因?yàn)槲覀優(yōu)間it用戶指定的git-shell每次一登錄就自動(dòng)退出。

第六步,克隆遠(yuǎn)程倉庫:

現(xiàn)在,可以通過git clone命令克隆遠(yuǎn)程倉庫了,在各自的電腦上運(yùn)行:

2、要方便管理公鑰,用Gitosis; 3、要像SVN那樣變態(tài)地控制權(quán)限,用Gitolite。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git常用語法 [TOC] Git簡(jiǎn)介 描述 ? Git(讀音為/g?t/。)是一個(gè)開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,963評(píng)論 0 13
  • Git教程 一、Git簡(jiǎn)介 1.1. Git的誕生1.2.集中式的vs分布式 二、安裝Git 三、創(chuàng)建版本庫 四、...
    曹淵說創(chuàng)業(yè)閱讀 1,037評(píng)論 0 2
  • 我,曾經(jīng)與蒲公英有一個(gè)約定,要與它們一起飛翔,落到任何一個(gè)地方,掙脫家的懷抱,就在天空飄蕩,與蒲公英做伴,與天空同...
    期雨落閱讀 841評(píng)論 0 1
  • 方法一 使用數(shù)組的indexof方法,如果element的index不相等則說明element相同,則過濾掉 方法...
    幽小鬼閱讀 2,239評(píng)論 0 8
  • 姓名:王琦 公司:南京浩樂科技有限公司 【日精進(jìn)第54天】 一、【學(xué)~勤學(xué)】 ①日常課誦 《大學(xué)開篇》《六項(xiàng)精進(jìn)》...
    王琦精進(jìn)打卡閱讀 101評(píng)論 0 0

友情鏈接更多精彩內(nèi)容