Git
Git項目
源代碼版本控制器
(代碼管理工具),便於團隊的協作開發。
Git 安裝成功後的如果我們在直接桌面(desktop)打開
的話,需要進行一系列的操作才能到達我們的目的地。
首先給出一些基本的文件操作命令:
- cd 磁盤:進入某個盤
- cd..:返回上級目錄
- ls:列出當前盤下的文件名
- ll:詳細的列出當前文件的信息(比如年月日等)
- pwd:打印當前路徑
- mkdir:創建文件夾
- touch:創建某個文件
- vi:編輯某個具體的文件
- cat:可以查看文件的具體內容
- insert或者i:切換爲編輯模式
- Esc+:wq:保存並推出
- Esc+:q!:強制推出不保存
初識git
git提交和下載指的是,把本地倉庫中的內容和遠程倉庫保持關聯,讓代碼同步->分佈式
- 本地倉庫也是可以實現提交、歷史版本控制等操作,就是一個獨力的倉庫個體。
- 有需要的話,我們還可以讓本地和遠程關聯在一起,然後把本地的一切信息同步到遠程倉庫中。
建立本地倉庫的兩種方式
一、初始化設置
- 本地建立github倉庫,並且和遠程倉庫建立連接
建立本地的git倉庫:git init
->在當前的項目文件夾中生成一個.git文件(不能刪除,刪除後就不是本地倉庫了) - 讓本地倉庫和遠程倉庫之間建立的連接通道
$ git remote add [名字] [遠程倉庫地址]
[名字]:給傳輸通道起個名字,一般我們都叫做orijin
注意是https開頭的,通過這個地址可以找到遠程倉庫
- git remote -v 查看連接通道
- git remote rm [名字] 刪除連接通道
- git remote update [名字] 更新連接通道
二 、直接克隆
git clone [遠程倉庫地址]
- 在本地建立一個git倉庫。
- 讓本地倉庫和遠程倉庫保持鏈接。
- 把遠程倉庫中的源代碼拉取到本地。
$ git pull origin master過origin這個通道和遠程倉庫連接,並且把master這個分支中的源代碼更新到本地倉庫中(pull->拉取只能看不能改,防止衝突)
本地倉庫分爲三個區域:
- 工作區:開發代碼
- 暫存區
- 歷史區:記錄了各個歷史版本,我們可以在這個區域中查看一時段的代碼更新,也可以把代碼回滾到某一階段。
工作區開發代碼->暫存區->歷史區(生成版本)–>(需要回滾)直接從歷史區把某一個版本的代碼覆蓋工作區域的代碼
如果需要推送到遠程倉庫,我們把本地歷史區的內容推送到遠程倉庫即可。
還有一點需要注意: gitignore:這個文件中存放的是所有上傳遠程服務器需要忽視的內容
git的常用命令
git add 文件名
將單個文件上傳到暫存區
git add .
將工作區的所有文件上傳到暫存區
git checkout 文件名
放棄工作區對應文件的更改
git checkout .
放棄工作區所有文件的更改
git commit -m'本次提交表述'
把暫存區的內容上傳到歷史區,並生成一個版本號-m’這個參數一定要加’
git status
查看本地文件狀態
紅色:當前文件還沒有增加到暫存區(文件還在工作區)
綠色:當前文件還沒有上傳到歷史區(已經上傳到暫存區)。
git diff --cached
比較暫存區和歷史區的區別
git diff master
比工作區和歷史區的區別
git checkout 文件名
從暫存區回滾到工作區
git reset HEAD 文件名
將本次的暫存區回滾到上一次
git reset --hard 版本號
回滾歷史區
git reflog
查看所有的版本號(切換分支也會產生版本號哦!)
git branch
查看分支
git branch 分支名
創建分支
git checkout 分支名
切換分支
git checkout -D 分支名
刪除分支名,注意不能再該分支下刪除該分支
git checkout -b 分支名
創建並且換分支名
git merge 分支名
將分支dev合併到master,合併到誰上面就在那個分支下面執行
git log --graph
內部命令提供的簡易圖表
git push origin master
把本地 倉庫歷史區中的內容(包含提交的記錄)都有更新到遠程倉庫的master分支下=>此處應該叫做同步,這樣比提交叫法準確,因爲在每一次push後,不僅僅是把代碼推送到遠程倉庫中,而且本地新增加的項目版本記錄也同步到了遠程倉庫。
在分支上添加文件,需要提交後才能歸這個分支所有,否則你改的只是工作區的內容
提交到誰的身上,本次的結果才歸某個分支,如果再次進行修改的話,修改的是當前分支的文件,而不是公共的文件;如果不提交的話就會出現以下的錯誤
經常有這樣的事情發生,當你正在進行項目中某一部分的工作,裏面的東西處於一個比較雜亂的狀態,而你想轉到其他分支上進行一些工作。問題是,你不想提交進行了一半的工作,否則以後你無法回到這個工作點。解決這個問題的辦法就是git stash命令。
例如:當前在v2分支下面,而且我本地的內容已經修改,現在我想要切換到dev分支下面,我可以進行以下操作
git stash
將目前的工作內容存儲在堆棧中,這樣的話我們就可以切換到別的分支了
git stash apply
將存儲在堆棧中的內容釋放出來,可以接着進行開發了
只需要通過上面兩步就可以解決工作中多分支開發的問題,從而進行版本的迭代。