Git&&GitHub(1)

Git的優勢

大部分操作在本地完成,不需要聯網
完整性保證
儘可能添加數據而不是刪除或修改數據
分支操作非常快捷流暢
與 Linux 命令全面兼容

Git的結構

工作區:提交代碼,新建文件;通過git add提交到暫存區
暫存區:臨時存儲;通過git commit提交到本地庫
本地庫:存放歷史版本

代碼託管中心

維護遠程庫
局域網:GitLab服務器
外網:碼雲,GitHub

本地庫初始化

1,初始化
git init
.git中存放的是本地庫的相關的子目錄和文件,不能隨意修改
帶.的都是隱藏文件,查看系統隱藏文件 ls -lA|less
2,設置簽名
	形式:tom
	Email:[email protected]
	作用:區分不同開發人員的身份
	辨析:簽名與登錄遠程庫的賬號信息無關
	命令:
		項目級別/倉庫級別,僅在當前本地庫有效
			git config user.name tom_pro
			git config user.email [email protected]
			信息保存位置:./.git/config 文件
		系統用戶級別
		git config --global user.name tom_glb
		git config --global [email protected]
		信息保存位置:~/.gitconfig 文件
		**優先級(就近原則):項目級別的簽名優先於系統用戶級別**												
3,基本操作
	git status:查看工作區和暫存區的狀態
	git add[file name]:將工作區的“新建/修改” 放到暫存區
	git rm --cached [fileName]:從暫存區刪除
	git commit [fileName]:從暫存區提交到本地庫
		***未修改不能重複添加***
		在VIM編輯器裏面進行修改(安裝的時候確定)
		或者是git commit -m+“修改信息”+文件名
			insertions(+):添加的行數
	git reset HEAD <fileName>
	git restore --staged <fileName>

版本的管理

1,查看日誌
git log
顯示效果
git log --pretty=oneline
在這裏插入圖片描述
git log --oneline
在這裏插入圖片描述
git reflog
在這裏插入圖片描述
當數據太多的時候,多屏顯示操作:
空格向下翻頁,b向上翻頁,q退出
2,前進與回退
基於索引值操作
git reset --hard +索引值(reflog中的hash值)
使用^符號:只能往後不能向前
git reset --hard HEAD^(一個 ^ 往後退一步)
使用~符號:只能後退
git reset --hard HEAD~n(後退n步)
3,reset命令的三個參數對比
–soft 參數
僅在本地庫移動HEAD指針
在這裏插入圖片描述
–mixed 參數
在本地庫移動指針
刷新暫存區
在這裏插入圖片描述
–hard參數
在本地庫移動指針
刷新暫存區
刷新工作區
4,刪除並找回
前提:刪除前,文件存在時的狀態提交到本地庫
操作:git reset --hard[指針位置]
刪除操作已經提交到本地庫:指針位置指向歷史記錄
刪除操作尚未提交到本地庫:指針位置使用HEAD
5,比較文件差異
git diff [文件名]
將工作區中的文件和暫存區進行比較
git diff [本地庫中歷史版本] [文件名]
將工作區中的文件和本地庫歷史記錄比較
不帶文件名比較多個文件

Git分支

分支:在版本控制過程中,使用多條線同時推進多個任務
分支的好處:
	同時並行推進多個功能開發,提高開發效率
	各個分支在開發過程中,如果不做合併,如果某一個分支開發失敗,不會對其他分支有任 何影響。失敗的分支刪除重新開始即可。	
分支操作:
	創建分支:git branch + 分支名
	查看分支:git branch -v 
	切換分支:git checkout +分支名
	合併分支
				切換到接受修改的分支上
					git checkout [被合併分支名]
				執行merge
					git merge [有新內容分支名]
	解決衝突	
		第一步:編輯文件,刪除特殊符號
		第二步:把文件修改到滿意的程度,保存退出
		第三步:git add [文件名]
		第四步:git commit -m "日誌信息"
		注意:此時 commit 一定不能帶具體文件名		
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章