git原理及基本操作
阿新 • • 發佈:2020-12-10
1.git基本概念
1.1 常見版本管理工具
git
1.git是分散式的,每一個安裝git環境的機器都有線下的版本倉庫
2.開發者無需把程式碼提交到線上倉庫(GitHub、gitee、gitlab)
SVN
1.SVN是一個集中的版本管理工具
2.開發者必須把程式碼提交到SVN伺服器,本地沒有版本倉庫
1.2 線上倉庫
多人協作開發時,會管理程式碼
github / gitee
svn
1.3 git原理
工作區: 就是你在電腦上看到的目錄,比如目錄下testgit裡的檔案(.git隱藏目錄版本庫除外)。 暫存區 : 暫存區就是資料夾 .git中的一個小部分(.git資料夾就是版本庫) 版本庫:工作區有一個隱藏目錄.git,這個不屬於工作區,這是版本庫, 版本庫中還有Git為我們
2.gitee中使用
# Git 全域性設定: git config --global user.name "王賽賽呀" git config --global user.email "[email protected]" # 建立 git 倉庫: mkdir adsafghj cd adsafghj git init touch README.md git add README.md git commit -m "first commit" git remote add origin https://gitee.com/wangsaisaiya/adsafghj.git git push -u origin master # 已有倉庫? cd existing_git_repo git remote add origin https://gitee.com/wangsaisaiya/adsafghj.git git push -u origin master
3.git常見命令
3.1.簡單提交
git add xxx.txt # 將檔案提交到暫存區
git commit -m 'xxx' # 將程式碼提交到本地版本倉庫
git status # 看到未提交到倉庫的修改檔案(工作區、暫存區)
git log
3.2.回滾
git log #檢視所有提交到倉庫的版本記錄: git log -2
git reflog #檢視所有操作記錄(狀態的md5值和改變的值)
git reset --hard d9e0ed0 #回到指定版本(d9e0ed0是建立版本的MD5值得前6位或者7
位)
git reset --hard HEAD^ #回到上一個版本
3.3.撤銷修改
vim Readme #我們在Readme檔案中寫了一些錯誤的程式碼
git add . #然後又一不小心將檔案從工作區提交到了 stage區
git reset HEAD Readme #將Readme中剛提交到 stage區 的程式碼撤回到工作區
git status #檢視目前工作區狀態
git checkout -- Readme #將Readme在工作區錯誤的程式碼丟棄
3.4.強制使用master覆蓋原生代碼
git fetch --all
git reset --hard origin/master
git pull
4.git分支管理
4.1 分支管理概念
master 主分支,穩定程式碼,為生產環境做準備的
develop 開發分支,為開發服務
4.2 分支使用
'''1. 從master分支切換到dev分支進行開發'''
git checkout -b dev master # 從master分支建立dev開發分支
git branch # 可以看到現在已經切換到dev分支了
vim Readme # 模擬在專案中修改程式碼
git add . # 把工作區中所有變更全部提交到(暫存區)
git commit -m 'in dev' # 把暫存區程式碼提交到本地git倉庫(本地git倉庫)
git push origin dev # 把程式碼先推倒dev分支,讓測試人員測試
'''2. 當測試人員測試完成後將dev分支程式碼合併到master形成文件版本'''
git checkout master # 開發完成後,需要合併回master分支,先切換到master分支
cat Readme # 可以看到master分支的內容沒有修改
git merge --no-ff dev # 將剛剛dev中修改的程式碼合併到master
git push origin master # 將本地倉庫的程式碼推送到線上倉庫(線上git倉庫)