git

在windows上安裝git

前言:在介紹git前,先說下git的原理
git是分為三部分,一部分是你自己的文件(工作區(qū)),另外一個(gè)是緩存區(qū),最后一個(gè)是本地庫(kù)。當(dāng)你修改了自己的文件后,你會(huì)git add xx將修改保存到緩存區(qū),然后再用commit推送修改到本地庫(kù)中,git push 將本地倉(cāng)庫(kù)修改推送到服務(wù)器上的倉(cāng)庫(kù)中

  1. 在Windows上使用Git,可以從Git官網(wǎng)直接下載安裝程序
  2. 安裝完成后,還需要最后一步設(shè)置,在命令行輸入:

git config --global user.name"Your Name"

git config --global user.email"email@example.com"

  1. 通過git init命令把這個(gè)目錄變成Git可以管理的倉(cāng)庫(kù)
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

瞬間Git就把倉(cāng)庫(kù)建好了,而且告訴你是一個(gè)空的倉(cāng)庫(kù)(empty Git repository),細(xì)心的讀者可以發(fā)現(xiàn)當(dāng)前目錄下多了一個(gè).git的目錄,這個(gè)目錄是Git來跟蹤管理版本庫(kù)的,沒事千萬不要手動(dòng)修改這個(gè)目錄里面的文件,不然改亂了,就把Git倉(cāng)庫(kù)給破壞了。
如果你沒有看到.git目錄,那是因?yàn)檫@個(gè)目錄默認(rèn)是隱藏的

  1. 拉取代碼

通過git pull命令拉取代碼
git pull令用于從另一個(gè)存儲(chǔ)庫(kù)或本地分支獲取并集成(整合)。git pull命令的作用是:取回遠(yuǎn)程主機(jī)某個(gè)分支的更新,再與本地的指定分支合并,它的完整格式稍稍有點(diǎn)復(fù)雜
git pull <遠(yuǎn)程主機(jī)名> <遠(yuǎn)程分支名>:<本地分支名>
相當(dāng)于是從遠(yuǎn)程獲取最新版本并merge到本地

  1. 新增文件

通過git add命令新增文件
git add命令分為三種,分別為git add .,git add -u,git add -A
git add . :他會(huì)監(jiān)控工作區(qū)的狀態(tài)樹,使用它會(huì)把工作時(shí)的所有變化提交到暫存區(qū),包括文件內(nèi)容修改(modified)以及新文件(new),但不包括被刪除的文件。
git add -u :他僅監(jiān)控已經(jīng)被add的文件(即tracked file),他會(huì)將被修改的文件(包括被刪除的文件)提交到暫存區(qū)。add -u 不會(huì)提交新文件(untracked file)。(git add --update的縮寫)
git add -A :是上面兩個(gè)功能的合集(git add --all的縮寫),包括新增,修改,刪除的所有文件

  1. 提交文件

git commit -m '提交的問題描述'
將緩存區(qū)中的文件推送到本地git倉(cāng)庫(kù)中

  1. 推送到遠(yuǎn)程主機(jī)

git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>

  1. 文件從暫存區(qū)回退到工作區(qū),版本庫(kù)回退

git reset HEAD filename :回退文件,將文件從暫存區(qū)回退到工作區(qū),也可以使用 git reset filename
git reset HEAD^ :回退版本,一個(gè)^表示一個(gè)版本,可以多個(gè),另外也可以使用 git reset HEAD~n這種形式。

  1. 查看git狀態(tài),看有哪些文件被修改了,但是還沒有提交

通過命令git status可以看到當(dāng)前版本的狀態(tài),但是看不到具體修改了哪些內(nèi)容,如果想看到具體修改了哪些內(nèi)容,需要通過命令git diff來查看

  1. 查看提交日志

通過命令git log查看提交日志,加上參數(shù)--pretty=oneline后,每個(gè)提交記錄會(huì)顯示在一行之中
git log --pretty=oneline

  1. 查看歷史提交命令

通過命令git reflog查看歷史提交命令

  1. git checkout -- file 丟棄工作區(qū)的修改

命令git checkout -- file的作用就是,把文件file再工作區(qū)的修改全部撤銷,這里有兩種情況,
一種是文件file自修改后還沒有放到緩存區(qū),撤銷修改后就回到和版本庫(kù)一模一樣的狀態(tài);
一種是文件file已經(jīng)添加到緩存區(qū),又作了修改,現(xiàn)在,撤銷修改就回到添加到緩存區(qū)后的狀態(tài);
總之,就是讓這個(gè)文件回到最近一次git commitgit add時(shí)的狀態(tài)。

  1. git rm版本庫(kù)中刪除文件

git rm file,并且git commit,這樣,文件就從版本庫(kù)中被刪除了

  1. 關(guān)于分支的命令

查看分支:git branch
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>
創(chuàng)建+切換分支:git checkout -b <name>
合并某分支到當(dāng)前分支:git merge <name>
刪除分支:git branch -d <name>

  1. git stash

修復(fù)bug時(shí),我們會(huì)通過創(chuàng)建新的bug分支進(jìn)行修復(fù),然后合并,最后刪除;
當(dāng)手頭工作沒有完成時(shí),先把工作現(xiàn)場(chǎng)git stash一下,然后去修復(fù)bug,修復(fù)后,再git stash pop,回到工作現(xiàn)場(chǎng)

  1. git tag

命令git tag <name>用于新建一個(gè)標(biāo)簽,默認(rèn)為HEAD,也可以指定一個(gè)commit id
git tag -a <tagname> -m "message"可以指定標(biāo)簽信息
git tag -s <tagname> -m "message"可以用PGP簽名標(biāo)簽
命令git tag可以查看所有標(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)簽

最后編輯于
?著作權(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教程的學(xué)習(xí)筆記,教程源自廖雪峰的博客。這是一個(gè)由淺入深,學(xué)完后能立刻上手的Git教程。另,附上另一本...
    七弦桐語(yǔ)閱讀 6,493評(píng)論 5 47
  • 寶寶成長(zhǎng)過程中總會(huì)有一些怪怪的行為,讓不少父母不知道如何應(yīng)對(duì),是父母不懂寶寶的世界嗎?那父母怎么應(yīng)對(duì)寶寶的怪異行為...
    i十年i閱讀 245評(píng)論 0 0
  • 以下圖片都是日常中隨拍 工具:一加3手機(jī) 修圖工具:snapseed 歡迎大伙點(diǎn)評(píng)(>﹏<)
    黃小鶴閱讀 340評(píng)論 4 2
  • 廣中醫(yī)偌大的校園春雨過后挺好看的,就是操場(chǎng)粗糙得風(fēng)過塵土飛揚(yáng)。吃飯時(shí)我們講起高中時(shí)的志愿,醫(yī)生說幸好沒被國(guó)防...
    peng格林T閱讀 401評(píng)論 0 0

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