git 版本控制

2022-06-14 12:21:11 字數 3670 閱讀 1073

1、在專案目錄下滑鼠右鍵 選擇 git bash here 在命令列輸入

git init  

初始化乙個空的git倉庫(存放git對本專案**進行備份的檔案)

在專案中可看到乙個隱藏的資料夾.git

2、配置(自報家門)每次備份都會儲存以下資訊

在git中設定當前使用的使用者是誰

1)命令:

git config -- global user.name "linda"

回車後路徑不變表示設定使用者名稱成功

2)命令:

git config -- global user.email "[email protected]"

回車後路徑不變表示設定郵箱成功 (郵箱格式必須正確,不一定真郵箱)

3、新增新檔案需要的步驟

1)提交**(**儲存到.git倉庫)放在大門口  

git add ./   表示新增當前同目錄下的檔案

git add .    表示新增所有的(推薦)

命令: git add ./readme.md

(./readme.md 表示當前目錄下需要提交的檔案readme.md,一定要注意路徑) 

回車後路徑不變表示操作成功

2)**放進倉庫的房間裡

命令:git commit -m "這是對這次**提交的說明" 

(-m即message 引號部分說明當前要提交的**做了啥事或者改了哪些東西,必須要)

回車後提示 one file changed....表示操作成功

4、修改**後提交**

1)放在大門口

git add ./readme.md

(./readme.md 表示當前目錄下需要提交的檔案readme.md,一定要注意路徑)

(指定檔案)

git add./ 

把所有修改的檔案新增到大門口 

2) 放在儲存房間

git commit -m "這是對這次**提交的說明" 

(-m即message 引號部分說明當前要提交的**做了啥事或者改了哪些東西,必須要)

git commit --all -m "

這是一次性提交的**"

注意:要是忘記寫說明進入到了另乙個介面時可按下esc鍵後、輸入:q即可返回到原來的介面、要是還是沒有退出則按下esc鍵後 :q!強制退出。或者直接關閉命令視窗也是強制退出

5、檢視當前狀態

1)命令

git status 

回車modified: 

modified: ..是紅色表示改了**還沒有add

modified: ..是綠色表示**放在了大門口(add)還沒有commit

working directory clean表示工作區是乾淨的即**沒有修改過也就是沒有需要提交的**

6、所有修改過的**一次性全部提交到倉庫房間的命令:

git commit --all -m "這是一次性提交的**"

回車後沒有變化表示操作成功。

7、git檢視日誌

1)git log 

回車即可檢視詳細日誌

2)git log --oneline 

檢視精簡版的日誌

3)git reflog  

檢視版本切換記錄可檢視所有提交的版本號

8、版本回退:

1)git log --online 檢視日誌

2)git reset --hard head~0

(修改了**還沒提交,要恢復到沒改**的狀態 相當於svn的revert)

3)git reset --hard head~1 

(修改了**提交了回退到上乙個版本,head預設指向最近的版本即上乙個版本)

4)git reset --hard 版本號 

通過版本號精確的回退到指定版本

9、分支:master(主分支,預設的分支)

1)建立分支:

git branch dev

回車沒有變化表示操作成功

2)檢視當前所有分支:

git branch 

回車可看到所有的分支包括主分支,其中前面帶*綠色的表示當前所在的分支

3)切換到名為dev的分支:

git checkeout dev 

提示switched to banch 'dev'表示切換成功,此時標題後的深藍色標題就是dev了

4)修改了**在分支中提交後檢視日誌,會標註出來在哪個分支提交的**

10、合併分支:將分支的內容合併到主分支

1)命令:

git checkout master

首先需要將分支切換到主分支來,

2)命令:

git merge dev

回車接著將分支dev

合併,出現updating ....表示操作成功

11、解決衝突:

1)git branch -d dev

刪除dev分支(需要注意在哪個分支下,在本分支下是不能刪除自己的)

2)同一行**被修改後內容不一樣後再提交會衝突,只能在**塊去手動解決衝突,即把不要的內容手動刪掉重新提交即可。

12、github(git伺服器)

2)github伺服器倉庫 (https方式不安全)

命令:git push [位址] master 

會把當前分支的內容上傳到遠端github伺服器的mster分支上

看到「done」表示上傳成功

3)拿到已上傳的**:

2.或者使用命令(pull使用較多)

本地新建資料夾後 輸入git init。再輸入    git pull 位址 master

3.轉殖專案(會自己新建檔名,相當於svn的checkout的預設的檔名)

輸入 git clone 位址

若多次執行會覆蓋本地內容

13、ssh方式提交**到伺服器(安全)

1)任意位置右鍵 選擇git bash here 生成公鑰和私鑰

輸入:ssh-keygen -t rsa -c "[email protected]"

回車後設定儲存位置,預設即可

繼續回車到最後

回到儲存位置開啟isc檔案後有個

.pub檔案就是公鑰

,id_rsa就是私鑰

開啟.pub檔案複製下來所有**去github**設定公鑰

2)拿到**:git pull 相當於是從遠端獲取最新版本並merge到本地

本地新建資料夾後 輸入git init。

再輸入 

git pull 位址 master   

14、更新別人提交的最新的** 

git pull  ssh:  master

出現 remote。。。表示操作成功

15、先更新(pull)再提交(push)

先pull時若本地和伺服器版本不一致可以先在本地解決衝突後再將**push到伺服器。

16、push和pull的簡寫

git remote add lh ssh:

回車後,只要是在當前的專案目錄下都能直接寫變數lh即可

git push lh -u master

-u引數表示當前分支和遠端的指定分支進行關聯,以後提交**到伺服器就不寫master了

執行以上兩次操作後,上傳**直接使用 git push即可

17、git fetch 相當於是從遠端獲取最新到本地,不會自動merge,如下指令:

在實際使用中,git fetch更安全一些

git版本控制

1.git 是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本 管理。2.git配置管理 一般,有乙個 集中庫,包含4個分支 qa才能merge production 發布生產,出現生產問題,轉hotfix 研發經理 hotfix 解決緊急生產問題,測試後轉producti...

版本控制 Git

git 是目前世界上最先進的開源的分布式版本控制系統 沒有之一 用於敏捷高效地處理任何或小或大的專案。git 是 linus torvalds 為了幫助管理 linux核心開發而開發的乙個開放原始碼的版本控制軟體。git 與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本...

GIT版本控制

不同情況下,實現版本回退 1.對於修改內容後,未add,未commit 可以利用git checkout 檔名 2.對於修改內容後,add,未commit get reset head 檔名 git checkout 檔名 3.對於修改內容後,add,commit 可以回到任何乙個版本 root g...