git 筆記

1. 開啓工做區

git init 初始化git倉庫 
git clone url 複製一個倉庫 
git help 查看幫助

2. git add

在提交以前,Git有一個暫存區(staging area),能夠放入新添加的文件或者加入新的改動. commit時提交的改動是上一次加入到staging area中的改動,而不是咱們disk上的改動.
git add .
會遞歸地添加當前工做目錄中的全部文件.
git add index.js  將index.js修改提交到本地暫存區
git add -A  提交全部變化
git add -u  提交被修改(modified)和被刪除(deleted)文件,不包括新文件(new)
git add .  提交新文件(new)和被修改(modified)文件,不包括被刪除(deleted)文件

3. git config

在git中,咱們使用git config 命令用來配置git的配置文件,git配置級別主要有如下3類:html

  • 倉庫級別 local 【優先級最高】
  • 用戶級別 global【優先級次之】
  • 系統級別 system【優先級最低】
git config --(local/global/system) -l 查看倉庫配置
git config --(local/global/system) -e 編輯倉庫配置
git config user.name "tom"
git config user.email "hhh@qq.com"
git config --global alias.ci commit
git config --global alias.a "add -A"
// 別名配置 
git config --global alias.a 'add -A' 
git config --global alias.b branch  
git config --global alias.c  "commit -m" 
git config --global alias.ck checkout 
git config --global alias.st status

4. git log美化

<ul>
  <li> %H 提交對象(commit)的完整哈希字串</li>
  <Li> %h 提交對象的簡短哈希字串</li>
  <Li> %T 樹對象(tree)的完整哈希字串</li>
  <Li> %t 樹對象的簡短哈希字串</li>
  <Li> %P 父對象(parent)的完整哈希字串</li>
  <Li> %p 父對象的簡短哈希字串</li>
  <Li> %an 做者(author)的名字</li>
  <Li> %ae 做者的電子郵件地址</li>
  <Li> %ad 做者修訂日期(能夠用 --date= 選項定製格式)</li>
  <Li> %ar 做者修訂日期,按多久之前的方式顯示</li>
  <Li> %cn 提交者(committer)的名字</li>
  <Li> %ce 提交者的電子郵件地址</li>
  <Li> %cd 提交日期</li>
  <Li> %cr 提交日期,按多久之前的方式顯示</li>
  <Li> %s 提交說明</li>
</ul>
// log美化
git config --global alias.lg "log --no-merges --color --graph --date=format:'%Y-%m-%d %H:%M:%S' --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Cblue %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit"

// stash list 美化
git config --global alias.shs '
list --pretty=format:"%C(red)%h%C(reset) - %C(dim yellow)(%C(bold magenta)%gd%C(dim yellow))%C(reset) %<(70,trunc)%s %C(green)(%cr) %C(bold blue)<%an>%C(reset)"'

4. 衝突顯示 vim 編輯

`Please enter a commit message to explain why this merge is necessary,
especially if it merges an updated upstream into a topic branch。`
先按esc 
:wq 推出

5. 初始化git的文件

readme.md 
.gitignore
lisense

6. 撤銷修改

// 撤銷demo.txt的修改(和上次commit的)
git checkout demo.txt

7. 保存本地更改 merge後提交

git stash  // 保存本地更改
git stash save -a "messeag" //
git stash list 
git stash pop --index stash@{0}
git stash apply stash@{id} //和pop同樣,可是會保存stash記錄 
git stash clear // 清空
git stash drop // 刪上一條

8. 本地建立分支

git checkout -b dev 

// 克隆遠程分支建立本地dev
git checkout -b dev origin/dev

9. 版本回退

git reflog //全部版本歷史

git reset --hard hash

10. git 拉遠程特定分支

git clone -b dev ${url}

11. delete 分支

git br -D bambaoo

12. 查看當前跟蹤的分支

git br -vv

13. cherry-pick

pick其中的一個分支的一次提交,合併到當前分支 

git cherry-pick 08ru289

14. 修改提交信息

git commit --amend -m "update"

15 git 回退文件到某個版本

git checkout 5dc1bc214 templates/publish_advertisement.html

16 git認證失敗 儲存密碼

git config --system --unset credential.helper

//長期存儲密碼:
git config –global credential.helper store
相關文章
相關標籤/搜索