git日常使用整理
阿新 • • 發佈:2018-12-16
註冊使用gitlab新使用者
在gitlab註冊完賬號後,建立專案,會有如下提示
點選add an SSHkey 現實如下:
點選generate it,按照提示計算ssh key
把結果貼上到gitlab新增到ssh key 的位置,如下
回到建立的專案位置,根據頁面提示,配置賬號資訊,拉取程式碼.如下圖
這樣可以正常使用,下面開始瞭解練習。
Git的三種重要模式,分別是已提交、已修改和已暫存:
- 已提交(committed):表示資料檔案已經順利提交到Git資料庫中。
- 已修改(modified):表示資料檔案已經被修改,但未被儲存到Git資料庫中。
- 已暫存(staged):表示資料檔案已經被修改,並會在下次提交時提交到Git資料庫中。
修改檔案,add 加入暫存區,commit 提交到git資料庫,這樣就不怕丟失版本.盜圖一張如下。
1.資料提交
mkdir local
cd local
#將已存在目錄初始化成git管理工作目錄
git init
編輯檔案
echo "Initialization Git repository" > readme.txt
新增指定檔案到暫緩區
git add readme.txt
git commit -m "描述"
沒修改後要先加入到暫緩區在提交,即 修改1 >git add > 修改2 > git add > commit 或者 git commit -a
git status 檢視檔案狀態
比較當前檔案和版本庫的差別
git diff readme.txt
可以用 工作目錄/.gitignore 檔案來排除不需要提交的檔案,這樣就可以用 git add . 來新增目錄下的所有改過的檔案到暫緩區
//忽略所有以.a為字尾的檔案。 *.a //但是lib.a這個檔案除外,依然會被提交。 !lib.a //忽略build目錄內的所有檔案。 build/ //忽略build目錄內以txt為字尾的檔案。 build/*.txt //指定忽略名字為git.c的檔案。 git.c
如果確定檔案修改,可以加 -a 引數跳過add 步驟git commit -a -m "Modified描2.移除檔案
git add . 加入暫緩區
從暫緩區移除指定檔案,工作目錄中並未刪除檔案
git rm --cached 檔名
直接強制刪除工作目錄檔案及快取區檔案
git rm -f 檔名
3.移動改名檔案
把 檔名 a改成 b 檢視狀態會有rename操作
git mv a.txt b.txt
或者 直接把 a.txt 改成 c.txt 然後刪除 a.txt 在新增add c.txt 到暫緩區 提交
3.歷史記錄
顯示出每次提交的歷史記錄
git log
只檢視最近2次歷史
git log -2
-p引數 展示最近一次提交的資料差異
git log -p -1
--pretty引數,根據不同引數展示顯示格式
git log --pretty=oneline
4.還原版本資料
git log --pretty=oneline
看到如下版本
fd3d78a6a0b76df7f5785623ecdb0ad9999f10ab 新版本
d19240ec7eb31a7abf20992416e6a509c84e703a 上版本
778c5bc7b96f2d7494396fd98b89bd5899a315d0 老版本
還原到以前老版本
git reser --hard 版本號
在當前版本下,檢視未來版本記錄
git reflog
在還原到相對當前版本的未來版本
git reser --hard 版本號
checkout 還原某個檔案內容
當我們改動一個檔案很多地方,發現更改錯了,手動刪除太麻煩,可以從暫緩區還原
git checkout -- 檔名
checkou規則是如果暫存區中有該檔案,則直接從暫存區恢復,如果暫存區沒有該檔案,則將還原成最近一次檔案提交時的快照
5.新增標籤
給大版本打標籤
git tag -a "v1.0" -m "標籤描述" 版本號(預設是當前版本)
檢視所有已有標籤
git tag
檢視指定標籤內容
git show v.10(標籤名)
刪除標籤
git tag -d v1.0
6.建立分支
建立分支demo
git branch demo
切換demo分支
git checkout demo
修改檔案
echo "222" >> a.txt
git commit -a -m "分支提交"
檢視分支列表
git branch
切換主分支
git checkout master
合併分支demo
git merge demo
檢視內容確認後,刪除demo分支
git branch -d demo
7.分支衝突解決
2個分支改動同一個檔案
合併時不能快速自動合併,會提示衝突,需要手動解決
git checkout master
git merge demo 報告檔案衝突
vi a.txt 檢視衝突內容
Git用< <<<<<<,=======,>>>>>>>分割開了各個分支衝突的內容,我們需要手工的刪除這些符號,並將內容改正確在提交。
修改衝突提交完成
檢視合併線
git log --graph --pretty=oneline --abbrev-commit
放心刪除分支demo
git branch -d demo
從遠端git服務下載程式碼
git clone [email protected]:username/boot.git
修改完成後提交到遠端
git push origin
參考 https://www.linuxprobe.com/chapter-21.html