Git認(rèn)識(shí)

Git

什么是Git?

  • Git是一款源代碼管理工具(版本控制工具)
    • 我們寫的代碼需要使用Git進(jìn)行管理。
  • 源代碼有必要管理起嗎?
  • 1.0
  • 2.0 //
  • svn,vss,vcs.... git
  • 有必要,因?yàn)槿斯さ娜ヌ幚聿煌陌姹?,做相?yīng)備份會(huì)很麻煩。
  • Git是linux之父當(dāng)年為了維護(hù)linux---linus之前也是手動(dòng)維護(hù)合并把文件發(fā)給Linus
  • linus自己寫了一個(gè)版本管理的工具(Git)

Git安裝

初始化Git倉(cāng)儲(chǔ)/(倉(cāng)庫(kù))

  • 這個(gè)倉(cāng)庫(kù)會(huì)存放,git對(duì)我們項(xiàng)目代碼進(jìn)行備份的文件
  • 在項(xiàng)目目錄右鍵打開 git bash
  • 命令: git init

自報(bào)家門

  • 就是在git中設(shè)置當(dāng)前使用的用戶是誰(shuí)
  • 每一次備份都會(huì)把當(dāng)前備份者的信息存儲(chǔ)起來
  • 命令:
    • 配置用戶名:git config --global user.name "xiaoming"
    • 配置郵箱: git config --global user.email "xm@sina.com"

把大象放到冰箱要幾步

  1. 打開冰箱門
  2. 放大象
  3. 關(guān)上冰箱

把代碼存儲(chǔ)到.git倉(cāng)儲(chǔ)中

  • 1.把代碼放到倉(cāng)儲(chǔ)的門口
    • git add ./readme.md 所指定的文件放到大門口
    • git add ./ 把所有的修改的文件添加到大門口
  • 2.把倉(cāng)儲(chǔ)門口的代碼放到里面的房間中去
    • git commit -m "這是對(duì)這次添加的東西的說明"

可以一次性把我們修改的代碼放到房間里(版本庫(kù))

  • git commit --all -m "一些說明"
    • --all 表示是把所有修改的文件提交到版本庫(kù)

查看當(dāng)前的狀態(tài)

  • 可以用來查看當(dāng)前代碼有沒有被放到倉(cāng)儲(chǔ)中去
  • 命令: git status

git中的忽略文件

  • .gitignore,在這個(gè)文件中可以設(shè)置要被忽略的文件或者目錄。
  • 被忽略的文件不會(huì)被提交倉(cāng)儲(chǔ)里去.
  • 在.gitignore中可以書寫要被忽略的文件的路徑,以/開頭,
    一行寫一個(gè)路徑,這些路徑所對(duì)應(yīng)的文件都會(huì)被忽略,
    不會(huì)被提交到倉(cāng)儲(chǔ)中
    • 寫法
      • /.idea 會(huì)忽略.idea文件
      • /js 會(huì)忽略js目錄里的所有文件
      • /js/*.js 會(huì)忽略js目錄下所有js文件

查看日志

  • git log 查看歷史提交的日志
  • git log --oneline 可以看到簡(jiǎn)潔版的日志

回退到指定的版本

  • git reset --hard Head~0

    • 表示回退到上一次代碼提交時(shí)的狀態(tài)
  • git reset --hard Head~1

    • 表示回退到上上次代碼提交時(shí)的狀態(tài)
  • git reset --hard [版本號(hào)]

    • 可以通過版本號(hào)精確的回退到某一次提交時(shí)的狀態(tài)
  • git reflog

    • 可以看到每一次切換版本的記錄:可以看到所有提交的版本號(hào)

分支

  • 默認(rèn)是有一個(gè)主分支master

創(chuàng)建分支

  • git branch dev
    • 創(chuàng)建了一個(gè)dev分支
    • 在剛創(chuàng)建時(shí)dev分支里的東西和master分支里的東西是一樣的

切換分支

  • git checkout dev
    • 切換到指定的分支,這里的切換到名為dev的分支
      git branch 可以查看當(dāng)前有哪些分支

合并分支

  • git merge dev
    • 合并分支內(nèi)容,把當(dāng)前分支與指定的分支(dev),進(jìn)行合并
    • 當(dāng)前分支指的是git branch命令輸出的前面有*號(hào)的分支
  • 合并時(shí)如果有沖突,需要手動(dòng)去處理,處理后還需要再提交一次.

GitHub

  • https://github.com
  • 不是git,只是一個(gè)網(wǎng)站
  • 只不過這個(gè)網(wǎng)站提供了允許別通過git上傳代碼的功能

提交代碼到github(當(dāng)作git服務(wù)器來用)

  • git push [地址] master
  • 示例: git push https://github.com/huoqishi/test112.git master master
  • 會(huì)把當(dāng)前分支的內(nèi)容上傳到遠(yuǎn)程的master分支上
  • git pull [地址] master
  • 示例: git pull https://github.com/huoqishi/test112.git master
  • 會(huì)把遠(yuǎn)程分支的數(shù)據(jù)得到:(注意本地-要初始一個(gè)倉(cāng)儲(chǔ)!)
  • git clone [地址]
  • 會(huì)得到遠(yuǎn)程倉(cāng)儲(chǔ)相同的數(shù)據(jù),如果多次執(zhí)行會(huì)覆蓋本地內(nèi)容。
?著作權(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)容

  • 這篇博文是自己在學(xué)習(xí)git過程中的思考總結(jié)。本文僅僅代表個(gè)人的看法,如有不妥地方還請(qǐng)本文文末留言。 ?? 原文鏈接g...
    Ming_Hu閱讀 1,278評(píng)論 4 18
  • Git 是目前最流行的分布式版本控制系統(tǒng)之一。 版本控制指的是,記錄每次版本變更的內(nèi)容和時(shí)間等細(xì)節(jié),保留各版本之間...
    神齊閱讀 1,519評(píng)論 0 7
  • 0. 前言 git在團(tuán)隊(duì)協(xié)作中有重要作用,是有必要進(jìn)行系統(tǒng)學(xué)習(xí)的一門工具。本篇是筆者學(xué)習(xí)git操作的備忘筆記,主要...
    dounine閱讀 1,119評(píng)論 0 2
  • 三大區(qū)域: 工作區(qū) → 緩存區(qū) → 本地倉(cāng)庫(kù) 一 、 使用 git config 命令進(jìn)行配置: git ...
    Manchangdx閱讀 2,956評(píng)論 0 2
  • 1.提到git,簡(jiǎn)單提下幾個(gè)相似功能的版本管理系統(tǒng)CVS和SVN,首先說CVS和SVN是集中式的版本控制系統(tǒng),什么...
    倘浩洋閱讀 671評(píng)論 0 2

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