everyday git

git命令很少,可是用法卻有不少。這篇文章會長期更新,可是固然不會面面俱到,只是記錄一些應用場景。git

git diff

使用VCS,比較版本差別是最經常使用的一個功能。
我我的寫代碼經常是這樣的流程:github

  1. 修改代碼,或文檔。
  2. git status 看改了哪些文件,有沒有新增的文件。
  3. 有新文件的話git add一下。
  4. git difftool仔細排查修改有沒有錯誤。
  5. 認爲沒有錯誤了就git commit -amgit commit -as

這個過程當中,比較命令天然是重度使用的一個。經常須要反覆比較好幾回,纔有自信commit。bash

1. 查看被修改的文件列表

若是隻是查看當前修改了哪些文件(和HEAD比較),git status就夠了。
若是是查看之前的commit之間修改了哪些文件,能夠參考下面的命令。重點是--name-only--name-status,其餘參數就不一一說明了。網絡

查看兩次commit之間修改了哪些文件:code

git diff  --name-only HEAD~4 HEAD~5

查看兩次commit之間修改了哪些文件, 以及對文件作了什麼類型的修改(M - modify, D - delete, A - add):server

git diff  --name-status HEAD~4 HEAD~5

git remote

git remote查看遠程repo的別名。
git remote -v查看遠程repo的別名和地址。rem

1. 用移動硬盤或U盤當git server

我這麼作,是由於某一次要去山上住幾天,沒有網絡,我媽又不讓我帶電腦,可是我又很但願山上那幾天能寫寫代碼,等有網時再push到github。因此有了下面的步驟:文檔

  1. 本身電腦上已經從github上clone了一個repo,並作了修改。
  2. 插入移動硬盤,假設掛載到/media/xdisk,建立目錄mkdir /media/xdisk/repo.git
  3. cd /media/xdisk/repo.git而後git init --bare
  4. 切回到本地repo,而後git remote add usb /media/xdisk/repo.git。這時候git remote能夠看到origin和usb兩個remote端。
  5. push到移動硬盤git push usb master
  6. 拿着移動硬盤去深山裏借高僧的電腦~~
  7. 插入移動硬盤,假設掛載到/media/ydisk
  8. clone到高僧的電腦git clone /media/ydisk/repo.git
  9. cd到repo目錄下寫代碼。
  10. 寫完git push master就行了,而後回家。
  11. 移動硬盤插到本身電腦上,仍是掛載到/media/xdisk
  12. git pull usb而後git push origin master
相關文章
相關標籤/搜索