參考鏈接:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
1.初始化一個空倉庫 :git init
會生成一個 .git文件
2.在自己的github庫中添加用戶名和郵箱:
git config --global user.name 'yourName'
git config --global user.email 'yourEmail'
3.查看當前文件狀態:git status
文件有三種狀態:
untracked - 新增的文件,Git 根本不知道它的存在
not staged - 被索引過又被修改了的文件
staged - 通過 git add 后被即將被提交的文件
4.添加文件到staged狀態:git add filename
5.提交代碼:git commit -m '描述此次提交的內容'
6.將github庫中的一個項目克隆到本地:git clone github地址
7.這一條是6的提升:在本地創建一個文件夾,將一個項目克隆到這個文件夾:git clone github地址 文件夾名
8:在用vim編輯文件的時候,會生成一個臨時文件.swp,(.swp的作用:在自己不小心退出vim或者vim崩潰的時候,再次編輯這個文件時,就會提示存在一個.swp文件,詢問是否恢復)他屬于臨時文件,不應該在git add時被添加進去,git中的一個機制可以讓我們忽略這個文件:vim .gitignore
打開后,將*.swp添加進去即可。
9.此條是上一條的提升,忽略某類文件時,排除其中幾個:
比如,將.a文件忽略,排除lib.a文件:vim .gitignore,打開后添加*.a !lib.a
10.在添加一個文件時以git add的方式告訴git,刪除一個文件時也應告訴git:git rm +filename
- 在添加時將多余的文件添加進去,將其從staging area中移出,但不刪除文件:git rm +filename --cached
12.如果你正在改動已經提交的文件,當有急事離開的時候,git stash,他將你正在修改的文件,復制到另一個地方暫存起來,等到要恢復時:git stash pop即可
13.將一個文件的內容復制到另一個文件中:git mv oldFile newfile
14.上一條的提升:使用通配符:git *.html src/
15.查看代碼提交歷史:git log(tig方式比較好)
16.提交之后發現露掉某些文件時:git add fliename
git commit --amend
17.默認提交的時候時間為系統時間,覆蓋提交時間:
git commit -m 'i work so hard' --date '2016-7-8 23:59:59'
18.本來想提交一個文件,一不小心將其他文件add,如何將他移出:
git reset filename
19.該代碼后發現需求改變,不需要改動的內容,如何快速的扔掉所有的變更:git checkout
20.將git倉庫提交到遠程倉庫:git remote 倉庫名稱
21.遠程倉庫不僅有名稱還有url:git remote -v
22.將別人提交的代碼拉會本地:git pull origin master
23.連接遠程倉庫:git remote add origin url
24.查看修改:git diff
25.建分支:git branch 分支名稱
26.創建并checkout到新分支:git checkout -b XXX
27.刪除分支:git checkout -d XXX
28.有時候在特性分支上提交了代碼,但還不能并入主干,卻又希望和別的同事分享(比如需要他們幫做 Code Review),那就需要把分支 push 到遠程倉庫中去:git push origin 分支名
29.將另一個分支并入當前工作分支:git merge XXX
30.當遠程倉庫有更新,但我們并不想合并到本地倉庫,只想把代碼拿下來看看:git fetch origin