Git&GitHub簡介與入手(一)

1、Git版本控制

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

二、分佈式版本控制工具:Git;算法

三、Git簡史vim

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

四、https://git-scm.com/ 官網下載安裝git服務器

(後面均使用默認設置);編輯器

2、Git&GitHub簡介

1.Git的結構與GitHub的關係分佈式

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

(1)團隊內的合做命令行

(2)跨團隊協做版本控制

3、Git命令行操做

一、添加,提交

(項目級別信息保存位置顯示)

(系統用戶級別信息保存的位置);

(第二句表示本地庫中沒有東西,第三句表示暫存區中沒有什麼可提交的。);

 (用vim thy.txt新建了一個文本文件)

(行末換行符進行改變,將文件添加到緩存區);

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

(git commit thy.txt提交以後,要求對此次改變輸入提交信息);

(master根提交,「版本號」,一個文件,一行增長,建立了文件)

(緩存區中沒什麼提交的,工做樹是乾淨的);

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

(使用add後顯示status,而後提交,加上-m能夠不用進入vim編輯器寫提交信息);

 二、版本穿梭

(commit後面是此次提交的索引,通過哈希算法算出來的,head是指針,指向當前版本,版本穿梭就是移動改指針)

(三種查看歷史記錄,reflog能顯示全部版本,oneline只能顯示過去版本,索引號選中自動複製)

(前進後退都用這個命令)

 (一個^表示後退一個版本,2個後退兩個,一次類推,太多了能夠用~3表示後退三個版本)

(用HEAD命令使三個區保持一致)

(找回永久刪除的文件,回退到過去版本)

 

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

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

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

(建立分支實際上是建立一個指針,而不是真的將文件再複製一遍,分支的切換是移動head指針,因此效率很高!)

相關文章
相關標籤/搜索