目錄

一、git概述與基本命令

二、拓展命令

三、開發中的問題(分支、衝突)


 



 



 



注:git倉庫初始化與協作流程,使用 gitee體驗創建倉庫流程(工作中一般使用vscode 插件或者sourceTree 等圖形化工具使用git)



 



一、git概述與基本命令



 



工作區:修改代碼的位置



暫存區(Index/stage):add操作後



倉庫區(head):commit操作後




【Git 使用】- Git 的基本使用_51CTO博客_git


 


git步驟:版本管理


 


/etc/gitconfig文件,對當前系統下的所有用户有效


git config --global user.email   123@.com


git config --global user.name   shiyu


 


 


1.進入文件夾,git bash here


2.git init   //默認創建的是master分支,


3.git status  


4.git add .   //之後會變成綠色,之前是紅色的       //管理要管理的文件  git add -i file     -i 交互式


5.git commint -m "v1"   //生成一個版本   (不小心生成一個版本:git rebase -i  commit號  


        注意這裏的commit號是要刪除 前面的一個commit號(哈希值)


        把pick改為drop


 



【Git 使用】- Git 的基本使用_51CTO博客_#git_02


 


創建分支        git branch   //查看分支


7.git checkout dev  跳轉到分支


8.回到master後,git merge dev:合併到master


9.git branch -d dev  //刪除分支


10.生成新版本


 


 


推送到github


11.git remote add origin     https://github.com/..........git   //起別名為 origin


12.git push -u origin master  //推送master  


從github拉取代碼


 全部下傳了,包括dev等  (可切換到dev:git checkout dev)


yes!  成功了!


 


 


git merge master  先把dev更新(可能比master少)


從暫存區放到工作區


修改文件後變成紅色,把它撤銷修改


git log  查看版本,只能查看當前狀態為終點


git reflog  查看版本


git reset  (commit號) 回到這個版本號


 


 


git diff


打tag:


git tag 1.0.0 1bfsdf3r2w   //1bfsdf3r2w是commit號的前10位字符


 


丟棄本地所有改動與提示,到服務器獲取最新的版本歷史


git fetch origin 


git reset --hard origin/master


 


git rm  //刪除工作區文件


git mv //移動或重命名工作區文件


git blame file //以列表形式查看指定文件的歷史修改


git log --pretty=short


git log -p 1.txt  //查看1.txt的改動


 


 


二、拓展命令


 


git commit --amend  



【Git 使用】- Git 的基本使用_51CTO博客_#git_03


 


 


rebase



【Git 使用】- Git 的基本使用_51CTO博客_#gitee_04



【Git 使用】- Git 的基本使用_51CTO博客_#github_05


 


 


HEAD:一個特別的指針,指向當前正在工作的本地分支的指針


 


stash原理是:先把工作區恢復到上次提交的內容,同時備份本地的修改,之後就可以正常的pull代碼了,pull完成後,再進行stash pop將之前的修改返回到當前工作區。


 



 


 


ssh


見菜鳥教程:



【Git 使用】- Git 的基本使用_51CTO博客_工作區_06


 


 



三、開發中的問題(分支、衝突)
 


master  只有一個,最終發佈


develop  項目開發的分支


release  預發佈版本


hotfix  修復補丁


 


工作流程:


開發一個新功能時:develop上新建一個feature,最後合併到develop


 


 


衝突:



【Git 使用】- Git 的基本使用_51CTO博客_#git_07


 



【Git 使用】- Git 的基本使用_51CTO博客_git_08


 


合併後:



【Git 使用】- Git 的基本使用_51CTO博客_#gitee_09


 


解決:



【Git 使用】- Git 的基本使用_51CTO博客_#github_10


 


 


Current Change 主分支


Incoming Change 我改的要合併進去



【Git 使用】- Git 的基本使用_51CTO博客_git_11