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的工作流程
所以,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文件
規則:
eg
#為注釋*.txt #忽略所有 .txt結尾的文件,這樣的話上傳就不會被選中!!lib.txt #但lib.txt除外/temp #僅忽略項目根目錄下的TODO文件,不包括其它目錄tempbuild/ #忽略build/目錄下的所有文件doc/*.txt #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt5碼云的使用
設置本機綁定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 工作流程 - 阮一峰的網絡日志
總結
- 上一篇: 数据库系统---数据挖掘
- 下一篇: 信息安全——非对称密码体制