git

git本地結(jié)構(gòu)


git的代碼托管中心

????GitHub

? ? 碼云

? ? 代碼托管中心維護(hù)遠(yuǎn)程庫

? ? ? ? 》團(tuán)隊(duì)內(nèi)部協(xié)作

團(tuán)隊(duì)外跨團(tuán)隊(duì)協(xié)作



git命令行操作

本地庫初始化

git init 初始化一個(gè)git倉庫?

命令:git add

? ? 效果

設(shè)置簽名

形式

? ? 用戶名:

email地址:

作用:區(qū)分不同開發(fā)人員的身份

辨析:這里設(shè)置的簽名,和登錄的遠(yuǎn)程庫的賬號(hào),密碼沒有任何關(guān)系

設(shè)置簽名命令:

項(xiàng)目級(jí)別/倉庫級(jí)別:僅在當(dāng)前本地庫有效

git config user.name 用戶名

git config user.email 郵箱

系統(tǒng)用戶級(jí)別:登錄當(dāng)前操作系統(tǒng)用戶范圍

git config --global 用戶名

git config --global 郵箱

兩者都有時(shí)采用項(xiàng)目級(jí)別

? ? ? ? ? ? 如果只有系統(tǒng)級(jí)別的簽名,那就以系統(tǒng)級(jí)別的簽名為主

? ? ? ? ? ? 兩個(gè)都沒有,不可以


git status



查看歷史版本記錄

git log 最完整的形式

多屏幕顯示的控制方式

空格=向上翻頁

b= 向上翻頁

q= 退出

git log --pretty=oneline


git log --oneline


git reflog

HEAD@{移動(dòng)到當(dāng)前版本需要多少步}

版本前進(jìn)后退

git reset --hard 索引值

git reset --hard a49h04

使用^只能往后,不能往前

git reset --hard HEADA^后退一個(gè)版本

git reset --hard HEADA^^^回退三個(gè)版本

使用~也是只能后退

git reset --hard HEADA~3 后退三個(gè)版本

reset 命令的三個(gè)參數(shù)對(duì)比

? ? --soft:

? ? 僅僅是在本地庫移動(dòng)HEADA指針

? ? --mixed

? ? 在本地庫移動(dòng)庫HEADA指針

? ? --hard

? ? 在本地庫移動(dòng)庫移動(dòng)HEADA指針

? ? 重置緩存區(qū)

? ? 重置工作區(qū)】


rm aaa.txt

刪除文件能找回了

前提:刪除前,文件存在時(shí)的狀態(tài)提交到本地庫

? ? ? ? 操作:git reset --hard[指針位置]

? ? ? ? ? ? ? ? 指針位置:歷史記錄或者當(dāng)前位置

? ? ? ? ? ? ? ? 刪除操作已經(jīng)提交到本地庫:指針位置指向歷史記錄

? ? ? ? ? ? ? ? 刪除操作尚未提交到本地庫:指針位置使用HEAD

比較文件差異

? ? git diff 文件名

? ? ? ? 將工作區(qū)的文件和暫存區(qū)的文件進(jìn)行比較

? ? git diff 本地庫的歷史版本 【文件名】

? ? ? ? 將工作區(qū)的文件和本地庫歷史記錄比較

? ? 不帶文件名進(jìn)行多個(gè)比較

git diff apple.text


git 的分支

在版本控制中,使用多個(gè)線路進(jìn)行并行開發(fā)


分支的好處

同時(shí)并行推進(jìn)多個(gè)功能開發(fā),提高開發(fā)效率

各個(gè)分支在開發(fā)過程中,如果某一個(gè)開發(fā)分支失敗,不會(huì)造成其他分支任何影響失敗的分支刪除重新開發(fā)即可。

分支的具體操作

創(chuàng)建分支

? ? git branch 分支名字

查看分支

? ? git branch -v

切換分支

? ? git checkout 分支名

合并分支

? ? 切換到接受的分支上(被可并,增加新內(nèi)容)

? ? git checkout 分支名稱

? ? 執(zhí)行一個(gè)merge 操作

????git merge hot_fix(分支名稱)

刪除分支

git branch -d bug//刪除bug分支

處理沖突

? ? 編輯文件,刪除特殊符號(hào)

? ? 把文件修改到滿意的程度,保存退出

? ? git add 文件名

? ? git commit -m '日志信息'

? ? 注意:此時(shí)commit 一定不能帶具體的文件名


拉取

pull = fetch+merge

git fetch 遠(yuǎn)程庫地址的別名 遠(yuǎn)程分支名

git merge 遠(yuǎn)程庫地址別名/遠(yuǎn)程分支名

6.8 解決沖突

? ? 要點(diǎn)

? ? ? ? 如果不是基于GITHub遠(yuǎn)程庫的最新版做的修改,不能推送,必須先拉取。

? ? ? ? 拉取下來后如果進(jìn)入沖突狀態(tài),則按照‘分支沖突解決’操作解決即可。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 版本控制工具應(yīng)該具備的功能 -- 第一 協(xié)同修改多人協(xié)同合作修改同一個(gè)文件。數(shù)據(jù)備份保存目錄和文件的當(dāng)前狀態(tài),而且...
    邪人君子閱讀 1,772評(píng)論 1 2
  • Add & Commit git init 初始化一個(gè) Git 倉庫(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 4,880評(píng)論 0 9
  • 版本控制工具應(yīng)該具備的功能 協(xié)同修改 多人協(xié)同合作修改同一個(gè)文件。 數(shù)據(jù)備份 保存目錄和文件的當(dāng)前狀態(tài),而且保...
    janeeyer111閱讀 301評(píng)論 0 0
  • 一、Git學(xué)習(xí)總結(jié)的命名 初始化一個(gè)Git倉庫。 添加文件到Git倉庫步驟分兩步:使用命令git add <fil...
    Cheriez閱讀 461評(píng)論 0 1
  • 人生就是一場爬山,有低谷,有山峰,連綿起伏; 工作就是一種修行,有沉悶,有盎然,默默前行; 生活就是不斷歷練,有哀...
    言午習(xí)致閱讀 166評(píng)論 1 0