日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git速成

發布時間:2023/12/16 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git速成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1什么是git?

1.1了解版本控制

1.2常見的版本控制工具

1.3版本控制分類

2配置git

2.1下載軟件

2.2啟動git? (推薦使用linux命令行啟動)

2.3常用linux命令練習

2.4git的配置

3git基本理論

3.1四大區域

3.2git的工作流程

4在項目中使用git

4.1本地倉庫搭建

4.2文件的四種狀態

4.3忽略文件

5碼云的使用

6idea集成git

7git工作流程


1什么是git?

1.1了解版本控制

? ? ? ? 在了解git之前,我們首先要明白什么是版本控制

??????版本控制(Revision control)是一種在開發的過程中用于管理我們對文件、目錄或工程等內容的修改歷史,方便查看更改歷史記錄,備份以便恢復以前的版本的軟件工程技術。

  • 實現跨區域多人協同開發

  • 追蹤和記載一個或者多個文件的歷史記錄

  • 組織和保護你的源代碼和文檔

  • 統計工作量

  • 并行開發、提高開發效率

  • 跟蹤記錄整個軟件的開發過程

  • 減輕開發人員的負擔,節省時間,同時降低人為錯誤

?而控制版本的工具有很多,git就是其中之一

1.2常見的版本控制工具

  • git
  • svn
  • cvs
  • vss
  • tfs
  • visual studio online

現在最主流,最常用的工具是git和svn

1.3版本控制分類

  • 本地版本控制? --rcs

在本地記錄文件的每次更新,適合個人使用

  • 集中版本控制 --svn

將所有的版本數據全部保存到服務器上,協同開發者可以從服務器上同步更新或者上傳自己的修改

  • 分布式版本控制? --git

當服務器崩掉之后,svn上的所有用戶都無法進行下一步開發,使用具有風險,于是就出現了分布式開發git,它將所有的版本信息倉庫全部同步到本地的每個用戶,這樣就可以在本地查看所有的歷史版本,同時可以離線在本地進行提交的操作,將信息先提交至暫存區,連接網絡后再push到服務器中

2配置git

2.1下載軟件

在官網?Git

或者 淘寶鏡像?git-for-windows Mirror

下載git

2.2啟動git? (推薦使用linux命令行啟動)

1開始菜單啟動

?2 任何一個位置(桌面 文件夾)下鼠標右鍵選擇

2.3常用linux命令練習

在桌面新建練習文件夾,雙擊進入練習文件夾,鼠標右鍵 選擇 git bash here 打開命令行頁面,發現此時已經定位到了當前目錄下

?mkdir命令在該目錄下新建兩個目錄test1和test2

cd 進入test1

?cd ..退回到test1

?ls 列出所有目錄

?pwd顯示根目錄

?touch創建一個文件

?mv移動一個文件 將tete.html移動到test1文件夾下

?rm刪除文件

?reset重新初始化終端/清屏 clear查看歷史命令 help幫助 exit退出

2.4git的配置

查看配置 git config -l

?查看系統config

查看當前用戶config

?git配置文件存放位置?

C:\Users\自己的賬戶名\ .gitconfig

3git基本理論

3.1四大區域

  • 工作區? 項目代碼的存放位置
  • 暫存區 用于臨時存放改動,事實上它只是一個文件,保存即將提交到文件的列表信息
  • 資源庫? 安全存放數據的位置,這里面存放著所有版本的數據,其中head指向最新放入倉庫的版本
  • 遠程的git倉庫 用于托管代碼的服務器

3.2git的工作流程

  • 在工作區域編寫代碼
  • 將新增的代碼或者需要改動的代碼文件放入暫存區? (add命令)
  • 將暫存區的文件提交到資源庫?(commit命令)
  • 將資源庫的文件提交到git倉庫(push命令)
  • 所以,git管理的文件有三種狀態,分別是已修改(modified),已暫存(staged),已提交(commited)

    4在項目中使用git

    4.1本地倉庫搭建

    創建本地倉庫

    git init

    克隆遠程倉庫

    git clone [url]

    隨便找一個開源項目

    ?

    ?

    ?

    ?4.2文件的四種狀態

    • Untracked: 未跟蹤, 此文件在文件夾中, 但并沒有加入到git庫, 不參與版本控制. 通過git add 狀態變為Staged.

    • Unmodify: 文件已經入庫, 未修改, 即版本庫中的文件快照內容與文件夾中完全一致. 這種類型的文件有兩種去處, 如果它被修改, 而變為Modified. 如果使用git rm移出版本庫, 則成為Untracked文件

    • Modified: 文件已修改, 僅僅是修改, 并沒有進行其他的操作. 這個文件也有兩個去處, 通過git add可進入暫存staged狀態, 使用git checkout 則丟棄修改過, 返回到unmodify狀態, 這個git checkout即從庫中取出文件, 覆蓋當前修改 !

    • Staged: 暫存狀態. 執行git commit則將修改同步到庫中, 這時庫中的文件和本地文件又變為一致, 文件為Unmodify狀態. 執行git reset HEAD filename取消暫存, 文件狀態為Modified

    git status? [filename] 查看文件當前狀態

    ?git status 查看所有文件狀態

    4.3忽略文件

    在主目錄下建立 .gitignore文件

    規則:

  • 以空行或者#開始的行會被忽略
  • 可以使用linux通配符 *代表任意多個字符? ?代表一個字符? [abc]代表可選字符范圍? {string}表示可選字符串
  • 如果名稱前以!開始 表示例外規則,將不被忽略
  • 如果名稱的最前面是一個路徑分隔符/ 表示要忽略的文件在此目錄下,而子目錄中的文件不忽略
  • 如果名稱的最后面是一個路徑分隔符/ 表示要忽略的是次目錄下該名稱的子目錄
  • eg

    #為注釋*.txt #忽略所有 .txt結尾的文件,這樣的話上傳就不會被選中!!lib.txt #但lib.txt除外/temp #僅忽略項目根目錄下的TODO文件,不包括其它目錄tempbuild/ #忽略build/目錄下的所有文件doc/*.txt #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

    5碼云的使用

    設置本機綁定ssh公鑰,實現免密碼登陸

    ?把id_rsa.pub中的公鑰信息粘貼到 設置->安全設置->ssh公鑰->公鑰

    ?

    6idea集成git

    在碼云新建一個倉庫,將git相關文件拷貝到對應的代碼目錄下

    ?打開idea

    add到緩存區?

    項目右鍵 -》git-》 add

    或者使用命令 git add .?

    ?

    ?add到緩存區后 項目文件顏色變為綠色

    提交

    右上方快捷commit或者命令行 commit -m "信息"

    ?push到遠程倉庫

    命令行 git push

    查看倉庫 提交成功

    git分支操作

    創建本地分支?

    git branch develop

    ?刪除本地分支

    git branch -d develop

    ?查看分支

    git branch -a

    ?切換本地分支到develop

    git checkout develop

    將本地新建的develop分支推送到遠程分支

    git push origin develop

    ?

    7git工作流程

    這篇文章寫的很詳細,推薦給大家~

    Git 工作流程 - 阮一峰的網絡日志

    總結

    以上是生活随笔為你收集整理的git速成的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。