1.版本控制概念與分類
1.1. 版本控制 4
1.1.1. 概念 4
1.2. 分類 4
1.2.1. 本地化版本控制系統 4
1.2.2. 集中化版本控制系統 5
1.2.3. 分布式版本控制系統 6
2. 常見命令 6
2.1. 註冊郵箱 6
2.1.1. git config --global user.email [email protected] 7
2.2. 命名 7
2.2.1. git config --global user.name "your_username" 7
2.3. 查詢所有配置 7
2.3.1. git config --list 7
2.4. 版本庫初始化與檔案操作 7
2.4.1. 第一次提交 7
2.4.2. 檔案被修改後提交git版本庫命令 7
3. git檔案的三種狀態 8
3.1. git操作檔案狀態的三種 8
3.1.1. 已提交(committed) 8
3.1.2. 已修改(modified) 8
3.1.3. 已暫存(staged) 8
3.2. git專案的三種工作區域 8
3.2.1. 工作區 8
3.2.2. 暫存區 9
3.2.3. git倉庫 9
3.3. 基本的git 工作流程描述 9
3.3.1. 1、在工作區中修改某些檔案 2、對修改後的檔案進行快照,然後新增到暫存區 3、提交更新,將儲存在暫存區域的檔案快照永久轉儲到git倉庫中 9
4. 版本切換--穿梭機 10
4.1. 版本回退 10
4.1.1. git reset head 檔名 10
4.1.2. 簡化版 10
4.2. 回退到上幾次提交 10
4.2.1. git reset --hard head^ 10
4.2.2. ^ 代表回退幾次 11
4.2.3. 簡寫 11
4.3. 返回到最新的未來版本 11
4.3.1. git reset --hard 唯一表示符,寫幾個便可(通常前7個) 11
4.3.2. 1、git log 檢視提交歷史日誌 2、git log -5 --pretty=oneline 檢視最近5次提交 簡化方式輸出 3、git reset --hard 版本標識字串(通常前7個字母) 4、暫存區檔案誤新增 11
4.4. 暫存區檔案誤新增 11
4.4.1. 1、git add檔案 新增檔案到暫存區 2、git reset head 檔名 回退暫存區檔案 11
4.5. 檔案刪除--就是檔案修改 11
4.5.1. git rm 檔名 11
4.6. git ls-files不加任何東西,顯示所有檔案 11
5. 遠端倉庫 11
5.1. 在國外github( ),還有乙個遠端倉庫碼雲( ) 11
5.2. 上傳 11
5.2.1. git remote add 別名 上傳位址 git push -u 別名 master 12
5.4. 校驗是否上傳成功 12
5.4.1. ssh -t [email protected] 12
6. git分支操作 12
6.1. git checkout branch 12
6.1.1. 切換到指定分支 12
6.2. git checkout -b new_branch 12
6.2.1. 新建分支並切換到新建分支 12
6.3. git branch -d branch 12
6.3.1. 刪除指定分支 12
6.4. git branch 12
6.4.1. 檢視所有分支,並* 號標記當前所在分支 12
6.5. git merge branch 12
6.5.1. 合併分支 12
6.6. git branch -m|-m oldbranch newbranch 12
6.6.1. 重新命名分支,如果newbranch名字分支已存在,則需要使用-m 強制重新命名,否則,使用-m進行命名 12
6.7. 本地分支推送 13
6.7.1. git branch -a 13
6.7.2. git push origih branch_name 13
6.7.3. git push origih:remote_branch 13
6.7.4. git checkout -b local_branch origih/remot_branch 13
6.8. 拉取遠端通知 13
6.8.1. git checkout -b dev origih/dev 13
6.9. 衝突的出現與解決 13
6.9.1. 本地分支操作衝突 13
6.9.2. 多人協同操作衝突 13
6.9.3. 衝突解決 13
就是記錄檔案的內容變化,簡單就是備份和記錄
缺點不支援多人協同開發1、可多人協同開發
2、多個版本的協同
3、比本地的多了伺服器
缺點單點故障
例:svn例:git
是為了解決集中化版本管理所帶來的問題分布式版本管理控制系統
不會出現單點故障的問題git init初始化本地倉庫
git add (檔案/資料夾),若git 沒有是新增的,有則算修改的,git自行判斷
git status 查詢當前暫存區的狀態
git commit提交後面跟著 -m(加入本次記錄說明) 在跟這個"注釋"
git log 用於顯示提交日誌資訊
cat 檔案。txt 顯示檔案的具體內容git add path
git status
git commit -m "提交說明"
刪除 git reset head 檔名.txt
已提交表示資料已經安全的儲存在本地資料中已修改表示修改了檔案,但還沒儲存到資料庫中已暫存表示對乙個已修改檔案的當前版本做了標記,使之含在下次提交的快照中簡單的理解為在電腦裡能看到的目錄,例如:自己建立的本地專案目錄git的版本存了很多東西,其中最重要的就是stage的暫存區,還有git自動建立的第乙個分支master,以及指向master的乙個指標叫head工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫
git reset -回退個數(最近多少次) --pretty=onelinegit reset --hard heaf~次數檢視本地與遠端分支推送本地分支到遠端刪除遠端分支(本地分支還在保留)拉取遠端指定分支並在本地建立分支git log --graph --pretty=onelinegit checkout -b dev origih/dev 同一機器不同視窗模擬多人衝突1、git pull 拉取操作
2、cat 檔案 檢視
3、本地處理衝突
4、git commit -m 標記解決
5、在git push 提交遠端倉庫
git 怎麼給自己的分支命名 git 分支命名規範
為規範開發,保持 提交記錄以及 git 分支結構清晰,方便後續維護,現規範 git 的相關操作。主要規範兩點 git 分支命名規範 git 提交記錄規範 1.git 分支命名規範 git 分支分為整合分支 功能分支和修復分支,分別命名為 develop feature 和 hotfix,均為單數。不...
GIT 儲存日誌並建立自己的分支
以下是我個人在工作中對git的愚見全是大白話說明。也是我踩坑記錄吧,防止下次再次踩坑。再已有的dev 開發分支 新建自己的分支 featuer 在更新到gitlab 倉庫中的過程。首先要有大致的概念 本地 git init 是建立本地並初始化本地的git倉庫,本地的倉庫現在和線上的倉庫是兩個並行的倉...
怎麼系統的給自己培養能力?
人跟人的工作結果,差別是什麼?尤其是同崗位級別 同學歷級別 同大環境裡。也就是說,和你在乙個經濟環境裡,學歷差不多,職位級別也和你差不多,但是最後你們的工作成果卻一定會產生差別。有可能是你的工作成果更好,也有可能是別人的工作成果更好。有可能你是當前工作環境較好的,有可能你是當前工作環境裡非常平庸的。...