Git的學習使用筆記

一. 重要的參考資料

git干貨系列

二. 常用命令匯總

  1. git初始設置

git config --global user.name "xiyang"
git config --global user.email xiyang@gmail.com

  1. 創建版本庫,此時理解下工作區,暫存區和版本庫之間的關系,查看資料
    理解暫存區,為了便于理解,你可以暫時理解為:工作區,相當于文本編輯區,暫存區相當于內存,版本庫相當于硬盤資料。

# 初始化創建一個倉庫(版本庫)repository
cd 目錄
git init #在目錄下產生一個.git隱藏目錄,保存版本庫的相關信息

  1. 單分支上的操作,首先是新增文件,修改文件內容,刪除文件內容的操作

# 命令行touch newfile.txt,或者編輯器中編譯生成一個新文件newfile.txt
git add newfile.txt
git commit -m "新增文件"
# 修改文件內容,增加兩行信息:"行1","行2"
git add newfile.txt
git commit -m "修改內容,并提交"
# 修改文件內容,刪除第二行內容:"行2"
git add newfile.txt
git commit -m "修改內容,并提交"

  1. 單分支上的操作,刪除文件的方法

touch file
git add file
git rm --cached file # 刪除緩存區文件
git rm file # 刪除緩存區和工作區文件
rm file # 刪除工作區文件
git commit -m "刪除file文件" # commit方式將版本庫中file文件刪除掉。

  1. 單分支上的操作,比較工作區,暫存區,倉庫文本內容的區別

git status # 查看是否有未提交的文件
git status -s # 查看是否有未提交的文件,short簡短提示。
git diff # 查看是否存在工作區與暫存區
git diff --cached # 查看暫存區與倉庫版本區的內容差別
git diff head # 查看工作區與倉庫版本區的內容差別

  1. 單分支上的操作,兩種查看日志的操作

# 繼續3,4小點的案例,此處用reset的方式,回退提交內容。
git reset head #
git reset --hard head^/commit_id
git log # 查看提交日志,但是無法查看回退情況
git log --pretty=oneline # 以簡潔模式,查看提交日志情況
git reflog # 查看提交日志,包括回退的情況

  1. 單分支上的操作,回退版本

# 撤銷操作
git checkout -- file # 用暫存區內容,覆蓋工作區,撤銷工作區修改,
git reset HEAD # 用在git add file之后,git commit之前,此時reset命令,將版本區最后一次提交前內容覆蓋暫存區,一般聯合git checkout命令,修改工作區內容。
git checkout HEAD [file] # git checkout HEAD [file]是上述兩個命令git checkout -- file和git reset Head命令的合體,相當于用版本庫內容覆蓋暫存區和工作區,回退到上一版本處
# 多次提交,版本回退操作
git reset --hard HEAD/HEAD^/HEAD~10 # 回退1次/2次/10次操作提交
git reset --hard commit_id # 回退到commit_id處

  1. 多分支的管理

git branch testing # 創建分支
git checkout testing # 分支切換
git checkout -b testing # 創建分支與切換分支合并的命令

git branch # 查看所有分支

git checkout master
git merge testing # 將指定分支merge到當前分支,注意此處的合并是快進合并。
git merge --no-ff -m "merge with no-ff" dev # 采用no-ff模式,合并分支,推薦使用該寫法,考慮dev分支上,如果多人同時merge自己的feature分支,導致同時更新到一個節點上.

git branch -d testing # 刪除分支

git log --graph --pretty=oneline --abbrev-commit # 圖形化查看分支歷史

git revert -m [編號] # 撤銷某次合并。不一定好用。
git revert commit_id # 撤銷某次合并。不一定好用。

  1. 分支管理策略
    分支管理策略參考
  1. mster 唯一主分支,提供用戶的正式版本都在此分支上
  2. dev 日常開發用的分支
  3. 臨時性分支分為三種:
    a. bug 修補bug(fixbug)分支
    b. 功能(feature)分支
    c. 預發布(release)分支

9.github遠程倉庫的使用

# 第一步,先在github官網上建立一個同名的項目例如:GitCMDUseCase
git remote add origin https://github.com/yujinctc/GitCMDUseCase.git
git pull origin master --allow-unrelated-histories
git push -u origin master # 推送
總而言之
git remote # 查看遠程庫的信息
git remote -v # 顯示更詳細的信息
git remote add origin https://github.com/yujinctc/GitCMDUseCase.git 連接遠程倉庫
git clone https://github.com/yujinctc/GitCMDUseCase.git # 復制一份遠程倉庫項目到本地
git remote rm origin # 關閉連接遠程倉庫
git push origin master # 推送分支
git pull origin master # 抓取更新

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,713評論 4 54
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,721評論 9 163
  • 序:一直以來,我每天走在上班路上都會想,柏油馬路每天被這么多人踩來踩去。它會痛么? 可惜現在的我已經來不及想這個痛...
    jiang醬jiang閱讀 525評論 4 4
  • 那個夜晚我其實寫了一篇很長的文章 一如以往每年所做的那樣 但是最終我沒有把它發出來 原因其實現在想想覺得很詭異 就...
    nesslee閱讀 352評論 2 1