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...