git 操作流程

git的操作流程


git init    //初始化,把目錄變成倉庫
git add fileName    //把文件添加到暫存區(qū)預(yù)備上傳
git commit -m 'infor'   //把暫存區(qū)的文件提交到當(dāng)前分支 并且添加上傳說明比如'add 2 files'  
git status  //查看倉庫當(dāng)前狀態(tài)會告訴我什么文件被修改了  
git diff    //顧名思義就是查看每次修改的difference只是提交前修改的    
git log     //查看歷史記錄  

git reset --hard HEAD~版本號 //回退版本 HEAD指向當(dāng)前版本
//如果不寫 HEAD就可以在版本里歷史中穿梭(可能會出現(xiàn)退出不了的情況這個時候按q)  
git reflog  //可以查看每一次命令記錄(可以查看版本號)

git reset --hard 版本號     //退回到一個版本(利用版本號)  

git checkout -- fileName    //可以把暫存區(qū)的內(nèi)容會退到上一次add操作的內(nèi)容或者上一次commit之后的內(nèi)容



工作區(qū)和版本區(qū)

工作區(qū)指的是代碼區(qū),版本庫指的是.git目錄
git add命令實(shí)際上就是把要提交的所有修改放到暫存區(qū)(Stage),然后,執(zhí)行g(shù)it commit就可以一次性把暫存區(qū)的所有修改提交到分支。
git commit只負(fù)責(zé)把暫存區(qū)的修改提交了。


添加遠(yuǎn)程庫如github中的庫
首先要在github上增加一個ssh key秘鑰來確定身份
打開git bash 輸入

ssh-keygen -t rsa -c "注冊郵箱"     //創(chuàng)建SSH Key
//然后在用戶主目錄/.ssh/下有兩個文件,id_rsa是私鑰id_rsa.pub是公鑰

start ~/.ssh/id_rsa.pub     //來獲取公鑰
//登錄github 打開ssh key頁面 新增一個ssh key

ssh -T git@github.com   //如果出現(xiàn)success則表示成功

遠(yuǎn)端github能夠與本地建立連接后就可以把本地內(nèi)容推送到遠(yuǎn)程github


git remote add origin githttps://github.com/csq121605366/my-resume.git   
//上面的命令是增加一個庫在github上, origin是新建庫的名字

git push -u origin master   //第一次推送 -u是關(guān)聯(lián)分支和master  
git push origin master  //以后推送的命令

git clone github倉庫地址
 //克隆一個本地庫  
 
 

分支管理

git branch      //查看分支

git checkout -b name //創(chuàng)建分支并切換 -b表示創(chuàng)建并切換相當(dāng)于下面兩條命令

git branch name      //創(chuàng)建分支

git checkout name    //切換到分支(常用)

git merge name       //合并dev分支到master上

git branch -d name   //刪除dev分支(-D為強(qiáng)制刪除分支,有時候分支沒有合并就要被刪除 這個時候用)

git merge --no-ff -m "info" name
//合并分支時,加上--no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支,能看出來曾經(jīng)做過合并,而fast forward合并就看不出來曾經(jīng)做過合并。


BUG分支

git stash       //存儲當(dāng)前工作區(qū) 

git stash list  //查看當(dāng)前工作區(qū)的暫存區(qū)列表

git status      //查看狀態(tài)  

git checkout master     //轉(zhuǎn)移到問題區(qū)解決問題  

git checkout dev        //返回工作區(qū)繼續(xù)完成工作

git stash apply stash@{num}    //回復(fù)工作區(qū)(但是不刪除存儲的臨時內(nèi)容) 
 
git stash drop stash@{num}  //刪除暫存區(qū)

git stash pop   //回復(fù)工作區(qū)同時把stash內(nèi)容刪除

多人協(xié)作

git remote  //查看遠(yuǎn)程庫的信息

git remote -v   //查看更詳細(xì)的信息  

git push origin master  //把master主線推送到origin遠(yuǎn)程庫中當(dāng)然也可以推送其他分支  

git clone 倉庫地址      //可以將遠(yuǎn)程庫克隆到本地  

//克隆到本地的內(nèi)容默認(rèn)情況下只能看到masetr分支

git checkout -b dev origin/dev
//就可以創(chuàng)建遠(yuǎn)端origin的dev分支到本地

//當(dāng)git的push操作出現(xiàn)問題,就是出現(xiàn)沖突的時候

git pull  //先把最新的提交從origin/dev 抓取下來,然后本地合并,解決沖突,再推送

git branch --set-upstream 本地分支名 遠(yuǎn)端庫名/遠(yuǎn)端分支名
//上面的操作時將遠(yuǎn)端庫的分支與本地建立聯(lián)系

創(chuàng)建標(biāo)簽


git tag v1.0        //創(chuàng)建標(biāo)簽

git tag             //查看標(biāo)簽  

git log --pretty=oneline --abbrev-commit    //查看commit提交歷史  

git tag 版本號 對應(yīng)的commit id如下
git tag v1.0 6224937 
//還可以創(chuàng)建帶說明的標(biāo)簽
git tag -a v1.0 -m "version:1.0" 6224937

git show v1.0       //查看說明

git tag -d v1.0     //刪除標(biāo)簽

git push origin v1.0    //推送某個標(biāo)簽到遠(yuǎn)程

git push origin --tags  //一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽

//刪除遠(yuǎn)程庫的tag信息
//首先刪除本地的tag信息
git tag -d v1.0
//然后從遠(yuǎn)程刪除,刪除命令也是push
git push origin :refs/tags/v1.0


配置別名
為了方便快捷的操作

git config --global alias.st status //將status縮寫為st

git config --global alias.unstage 'reset HEAD'

//將展示log信息縮寫為lg
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容