Git使用(本地倉庫) 主分支
時間:2018-09-26 來源:未知
【1】建立(li)一個本(ben)地倉庫(mkdir hello)
此時hello為一(yi)個(ge)文件夾,因(yin)此首先使用git init,對(dui)倉(cang)庫進(jin)行初始化

可看到(dao).git隱藏(zang)文件,表示初始化成(cheng)功
【2】將源碼放入本地倉庫(源碼將圍繞git工具所(suo)視(shi)的文件狀(zhuang)態展開)

加入到本(ben)地(di)倉(cang)庫(ku)的源碼屬于未跟(gen)蹤狀態
【3】執行跟蹤操作git add,源碼此時處于暫存(cun)狀態(tai)
使用git status可查看當前(qian)源碼的狀態為(wei)一個新文件,并(bing)提示提交commit
使用指令(ling)git commit

【4】使用git commit,提交本次記(ji)錄(lu)(記(ji)錄(lu)為添加新文件(jian)),將生成一個描述修改的log
進入到log
添加修(xiu)(xiu)改信息,保存(cun)(cun)退(tui)出,此時文件(jian)狀(zhuang)(zhuang)態(tai)由暫存(cun)(cun)態(tai)變為未修(xiu)(xiu)改狀(zhuang)(zhuang)態(tai)

第(di)一(yi)行(xing)為(wei)(wei)修改標題,空一(yi)行(xing),第(di)三行(xing)為(wei)(wei)修改主(zhu)要描述
【5】git log 查看修改記錄

生成(cheng)一個哈(ha)希值(commit值),記錄(lu)本次修改,并記錄(lu)修改作者
已提(ti)(ti)交作者信息(xi),如(ru)果未提(ti)(ti)交使用(yong)commit時會提(ti)(ti)醒提(ti)(ti)交,指令
Git config --global user.name “張三(san)” 用(yong)戶(hu)名
Git config --global user.email zhangsan@xxxx.com.cn郵箱
Git congig --global color.ui always 配置高(gao)亮(liang)
【6】文件狀態變為未(wei)修改,使用(yong)git status查看狀態

【7】進入源(yuan)碼,進行修(xiu)(xiu)改(gai)源(yuan)碼(刪除一行),保(bao)存退出,文件有未修(xiu)(xiu)改(gai),變為修(xiu)(xiu)改(gai)狀態
再次執(zhi)行(xing)git add對源(yuan)碼進(jin)行(xing)關注,文件的狀態再次變為(wei)暫存態
并執行git commit提交記(ji)錄

此(ci)時文件狀(zhuang)態再次轉換(huan)為未修改(gai)狀(zhuang)態
【8】git log 查(cha)看(kan)生(sheng)成記錄(lu)

新記錄在上面
【9】再次執(zhi)行按照【7】【8】
終提交生成log

【10】此時可對比(bi)log
Git diff + 上(shang)一次(ci)修(xiu)改的(de)commit值 + 下一次(ci)修(xiu)改的(de)commit值

可(ke)查看修(xiu)改(gai)內容---為修(xiu)改(gai)前文件,+++為修(xiu)改(gai)后文件,可(ke)看到本次(ci)修(xiu)改(gai)為將(jiang)printf換成(cheng)了
Puts
【11】生成patch,可認(ren)為(wei)是修改的一次記錄

-p3 取決于log記(ji)錄的個(ge)數
可(ke)vim 進入patch查(cha)看修改(gai)內容(rong)
【12】有關于撤銷(xiao)提交
撤(che)銷commit提交 git reset --hard + 上一次(ci)修改的(de)commit值
即可撤銷本(ben)次修改的(de)記錄,--hard 為回(hui)溯到commit值時(shi)的(de)狀(zhuang)態
(本操(cao)作需要慎重,如果沒有生成patch,此操(cao)作將(jiang)修改徹底刪除,無法返回)

此時新生成(cheng)的(de)log記(ji)錄被刪除,文件的(de)后一次修改(gai)失效
可通過執行 git am + 后(hou)一次(ci)修改的生成的patch,將(jiang)后(hou)一次(ci)的修改還原(yuan)


