每次吃一點Android_Gitの一

目錄:
1、Git工作區、暫存區、分支的區別
2、Git版本回退和撤銷修改
3、Git刪除文件
4、vim說明
5、總結

進擊的小仙

穿越:【目錄】每次吃一點Android_Git版本管理

參考資料:Git教程 - 廖雪峰的官方網站

1. Git工作區、暫存區、分支的區別

1488360764(1).png

每天吃一點Androidの二中,我們在電腦上創建了一個名為Git_Repo的文件夾,并在里面啟動bash,通過git init初始化了一個空的版本庫,git自動生成了一個隱藏的.git文件夾。

  • .git文件夾就是版本庫,里面存放了很多的東西。
  • Git_Repo就是工作區,我們在里面新建工程,或者新增文件,如readme.md;
  • 然后我們在bash中add添加后,工程或文件就被加入到了.git版本庫中的stage暫存區;
  • 繼而再commit提交后,工程或者文件就被提交到了master分支

2. Git版本回退和撤銷修改

2.1. 版本回退

查看版本日志:

git log

查看簡化的版本日志:

git log --pretty=oneline

Paste_Image.png

如上圖,黃色一長串“bbcd...b070”是commit id,也就是版本號,使用SHA1計算出來的id,這個id在版本回退中扮演很重要的角色。后面的白色字符串,如"rm readme2.md"是版本修改說明。
回退到上個版本:

git reset --hard HEAD^

回退到上上個版本:

git reset --hard HEAD^^

回退到十個版本:

git reset --hard HEAD~10

回退到指定版本號的版本:如版本號開頭部分為bbcd...

git reset --hard HEAD bbcd

另一個版本日志的查看方式:

git reflog
Paste_Image.png

2.2. 撤銷修改

  • 撤銷工作區的修改:
git checkout -- file

如果暫存區有內容,那么工作區撤銷成與暫存區一樣。
如果暫存區沒有內容,那么工作區撤銷成與分支一樣。

  • 撤銷暫存區的修改
git reset HEAD file

撤銷后,暫存區的內容與分支一樣

<a>注意:</a>修改工作區的readme.md,add添加工作區內容到暫存區,但未commit提交,再次修改工作區的readme.md內容,不add添加到暫存區,也就是說現在工作區、暫存區、分支三個位置的readme.md都不同,此時commit提交,提交的內容是暫存區的,而工作區第二次修改的readme.md是沒有提交上去的。

3. Git刪除文件

刪除工作區的文件:

rm readme2.md

分兩步:一:git rm刪除,二:git commit提交

git rm readme2.md
git commit

撤銷刪除:

git checkout --readme2.md

查看文件內容:

cat filename

4. vim說明

vim分為編輯模式和命令模式兩種。

  • 命令行模式下的命令:
    dd:刪除行
    iao:進入編輯模式
    數字n+d:刪除當前行開始n行
    u:回退
    pd刪除后,可以用p粘貼

  • 進入命令模式:esc

5. 總結

區別好工作區、暫存區和分支

  • 情景1:添加并且提交了一個改錯了的文件到分支,要回退到某個歷史版本。
#查詢分支的各個歷史提交的版本,根據版本描述確定要撤回到的版本
git log --pretty=oneline 
#或者用這個指令,HEAD前面的一串就是版本號
git log reflog
#根據版本號輸入版本回退指令,版本號可以不用寫完整
git reset --hard HEAD 版本號
  • 情景2:添加了一個改錯了的文件到暫存區,但還沒有提交到分支
# 將暫存區的文件替換成分支里的文件
git reset HEAD file
  • 情景3:修改錯了工作區的文件,要取消修改
git checkout -- filename
  • 情景4:刪除分支的文件
git rm filename
git commit
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Git是目前最流行的版本管理系統,也是最先進的分布式版本控制系統(distributed version cont...
    pro648閱讀 5,778評論 1 17
  • 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
  • 當自己有成就心態時,那是美麗的。那么要達到成功必須有機劃,有目標去逐個實現
    水草浮萍閱讀 115評論 0 0
  • 患得患失的情緒,回想場景和時間,我的心在憤怒,真的。但理智告訴我,路還是要走下去的。要有自我,自尊和自愛。完善自己...
    木人雨2000閱讀 159評論 0 0