1. 程式人生 > >Git&GitHub簡介與入手(一)

Git&GitHub簡介與入手(一)

顯示 更新 分享 out 控制 取消 b- src 信息保存

一、Git版本控制

1、集中式版本控制工具:SVN(版本控制集中在服務器端,會有單點故障風險);

2、分布式版本控制工具:Git;

技術分享圖片

3、Git簡史

技術分享圖片

Talk is cheap, show me the code.(Linus)

技術分享圖片

4、https://git-scm.com/ 官網下載安裝git

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片(後面均使用默認設置);

二、Git&GitHub簡介

1.Git的結構與GitHub的關系

技術分享圖片技術分享圖片

2、Git&GitHub---本地庫與遠程庫的交互方式

(1)團隊內的合作

技術分享圖片

(2)跨團隊協作

技術分享圖片

三、Git命令行操作

1、添加,提交

技術分享圖片

技術分享圖片技術分享圖片技術分享圖片技術分享圖片(項目級別信息保存位置顯示)

技術分享圖片(系統用戶級別信息保存的位置);

技術分享圖片(第二句表示本地庫中沒有東西,第三句表示暫存區中沒有什麽可提交的。);

技術分享圖片(用vim thy.txt新建了一個文本文件)

技術分享圖片(行末換行符進行改變,將文件添加到緩存區);

技術分享圖片(文件已經添加至緩存區了,可用提示命令從緩存區撤回);

技術分享圖片(git commit thy.txt提交之後,要求對這次改變輸入提交信息);

技術分享圖片(master根提交,“版本號”,一個文件,一行增加,創建了文件)

技術分享圖片(緩存區中沒什麽提交的,工作樹是幹凈的);

技術分享圖片

(對thy.txt進行了修改,用add命令更新到暫存區,或用checkout在你的工作目錄裏取消修改,暫存區中沒沒有可提交的修改,用add和commit添加到暫存區並提交,或直接提交);

技術分享圖片(使用add後顯示status,然後提交,加上-m可以不用進入vim編輯器寫提交信息);

技術分享圖片

2、版本穿梭

技術分享圖片(commit後面是這次提交的索引,經過哈希算法算出來的,head是指針,指向當前版本,版本穿梭就是移動改指針)

技術分享圖片技術分享圖片

(三種查看歷史記錄,reflog能顯示所有版本,oneline只能顯示過去版本,索引號選中自動復制)技術分享圖片

技術分享圖片技術分享圖片(前進後退都用這個命令)

技術分享圖片(一個^表示後退一個版本,2個後退兩個,一次類推,太多了可以用~3表示後退三個版本)

技術分享圖片技術分享圖片技術分享圖片(用HEAD命令使三個區保持一致)

技術分享圖片(找回永久刪除的文件,回退到過去版本)技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片技術分享圖片

(沖突,當合並時,發現合並的兩個分支被修改了同一個文件的相同位置,就會產生沖突,git不知道要保留哪一個,所以會產生人工合並取舍);

技術分享圖片技術分享圖片

(哈希算法可以用來檢驗文件傳輸是否有損,哇,以前不知道還有這作用0.0);

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

(版本管理是用哈希將每次的提交生成相應的哈希值,然後版本的管理就是一條鏈表,然後指針在上面移動。)

技術分享圖片技術分享圖片

(創建分支其實是創建一個指針,而不是真的將文件再復制一遍,分支的切換是移動head指針,所以效率很高!)

Git&GitHub簡介與入手(一)