站在巨人的肩膀上
工具推薦
常用命令
git init –bare 創建初始化倉庫,加–bare,可以避免後期出現“Out of memory? mmap failed: No such file or directory”錯誤。(遠端倉庫最好加bare可以避免push,add衝突)具體原因見:
git init 與git init –bare區別分支管理
查看分支:git branch
創建分支:git branch name
切換分支:git checkout name
創建+切換分支:git checkout –b name
合併某分支到當前分支:git merge name
刪除分支:git branch –d name
暫存區
保存暫存區:
git stash
恢復暫存區:
1.git stash apply恢復,恢復後,stash內容並不刪除,你需要使用命令git stash drop來刪除。
2.另一種方式是使用git stash pop,恢復的同時把stash內容也刪除了。
log信息(Reference Info)
git log - -stat:修改的文檔信息
git log - -pretty=oneline:單行顯示簡略信息
git log -p -2:-p,用來顯示每次提交的內容差異。 你也可以加上 -2 來僅顯示最近兩次提交
git log - -pretty=format:”%h - %an, %ar : %s”- 放棄本地修改
git checkout . #本地所有修改的。沒有的提交的,都返回到原來的狀態
git stash #把所有沒有提交的修改暫存到stash裏面。可用git stash pop回覆。
git reset –hard HASH #返回到某個節點,不保留修改。
git reset –soft HASH #返回到某個節點。保留修改
- Others
git commit -am “infor”:提交所有暫存的信息,並添加描述信息等同於 git add ,git commit(注意不會提交Untrack file,即新添加的文件)
git commit - -amend:修改提交信息
git push origin master:推送到遠程倉庫 master分支
git pull: 提取遠程分支信息到本地,等同於 git fetch ,git merge,一般問安全考慮,最好使用git fetch 看一下更新的信息。
git revert 是撤銷某次操作,此次操作之前的commit都會被保留
git reset - -soft(默認) HEAD^:上次提交(已提交內容,退到暫存區)
git reset - -hard HEAD~100:回退到倒數第一百次提交
git reset - -hard HEAD^:上次提交
git reset - -hard HEAD^^:上上次提交
git reflog:查看所有的包括已回退的提交信息。
git reset - -hard 6fcfc89:根據上個命令查到的提交號,回到最新提交
git checkout - -b.txt:恢復刪除未提交的文檔
git config –global credential.helper store : 保存用戶名密碼
git branch –set-upstream debug origin/debug :關聯遠端分支
Git常見問題
中文亂碼
HTTP下記住密碼
git config –global credential.helper store
Reference