Git經常使用操做

版本控制工具備哪些

VSS、CVS、SVN、Git等linux

Git介紹

Git是一款版本控制軟件,支持多個版本回滾,支持多人協同操做;聯合開發;不容易丟失,可遠程提交到github上git

安裝

linux下的安裝github

$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

 

windows下的安裝

https://www.git-scm.com/download/vim

設置

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

 

配置版本庫

一、初始化項目文件夾,生成版本庫windows

Alt text

二、建立版本庫工具

Git基本命令操做

Alt text
**注pwd是顯示當前目錄spa

建立新文件(複習vim命令)

Alt text
**注i是啓用寫模式,end退出寫模式,:wq保存退出,:q退出版本控制

Alt text

告訴git添加到本地版本庫

Alt text

**文件未被添加到版本庫的話,是沒法提交的,會提示有哪些文件須要添加到版本庫日誌

Alt text

提交文件進版本庫

Alt text
**注-m是給提交的文件加上標識,commit能夠一次提交多個文件code

修改文件

Alt text

Alt text
**注status是查看文件狀態,提示a.py被修改未提交到版本庫

修改完提交

Alt text

查看日誌來看本身的提交狀況

Alt text
**注git log命令是從最近到最遠時間顯示提交,第一個即最近的一次提交

Alt text
**參數–pretty=oneline可讓打印簡化

版本回退

a.py版本有兩個,我想回到上個版本怎麼辦呢?

Alt text
**HEAD^返回上個版本,HEAD^^返回上上個版本,若是版本太多HEAD~20返回20個版本以前
版本回退以後你又想返回以後那個版本怎麼辦?別慌,只要你的命令窗口沒關,找到第二次提交的commit id

Alt text

Alt text
又退回來了,commit id不必寫全
可是你回退以後又想再退版本怎麼辦?找不到commit id怎麼辦???
不須要

Alt text
**git 提供了 reflog來記錄你的操做,從輸出能夠知道commit id 這樣就又能夠隨意切版本了

工做區和版本庫

Alt text
**stage是暫存區

撤銷修改

有時候咱們修改了文件,可是已經保存了,從版本庫下上個版本???不須要,工做區咱們能夠撤銷修改

Alt text

Alt text
成功恢復到修改以前
那麼若是是添加以後未提交到版本庫以前呢

Alt text
沒事還有命令拯救你

Alt text
此刻雖然文件未返回可是暫存區已經沒有了,再執行checkout命令就能夠了

刪除文件


在工做區你可能只須要rm一下就好了
那麼版本庫中的文件該怎麼刪除呢

Alt text

Alt text
**先建立命令再提交

**提交至遠程庫,例如github或碼雲,這邊以碼雲示例

Alt text
查看下碼雲確實有了

Alt text

從遠程庫克隆到本地庫

Alt text

Alt text

建立和合並分支


建立dev分支並切換至dev分支下面

Alt text

查看全部分支

Alt text

修改提交到dev分支

Alt text

master分支合併

切換到master分支下合併

Alt text

刪除分支

Alt text
**注:除了master分支外的分支均可以刪除

解決衝突


建立dev分支並修改a.py文件,並切至master分支

Alt text
在master對這個文件再進行修改提交,合併dev分支提示衝突

Alt text

分支管理


新建dev分支提交文件切master分支合併(請注意–no-ff參數,表示禁用Fast forward)

Alt text

Alt text 能夠看到不用Fast forward模式是這樣的 一般,合併分支時,若是可能,Git會用Fast forward模式,但這種模式下,刪除分支後,會丟掉分支信息。 若是要強制禁用Fast forward模式,Git就會在merge時生成一個新的commit,這樣,從分支歷史上就能夠看出分支信息

相關文章
相關標籤/搜索