參考鏈接: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.查看當(dāng)前文件狀態(tài):git status
文件有三種狀態(tài):
untracked - 新增的文件,Git 根本不知道它的存在
not staged - 被索引過又被修改了的文件
staged - 通過 git add 后被即將被提交的文件
4.添加文件到staged狀態(tài):git add filename
5.提交代碼:git commit -m '描述此次提交的內(nèi)容'
6.將github庫中的一個項目克隆到本地:git clone github地址
7.這一條是6的提升:在本地創(chuàng)建一個文件夾删顶,將一個項目克隆到這個文件夾:git clone github地址 文件夾名
8:在用vim編輯文件的時候盗棵,會生成一個臨時文件.swp,(.swp的作用:在自己不小心退出vim或者vim崩潰的時候,再次編輯這個文件時钓简,就會提示存在一個.swp文件辛蚊,詢問是否恢復(fù))他屬于臨時文件色罚,不應(yīng)該在git add時被添加進(jìn)去,git中的一個機制可以讓我們忽略這個文件:vim .gitignore
打開后赋除,將*.swp添加進(jìn)去即可阱缓。
9.此條是上一條的提升淋硝,忽略某類文件時吟温,排除其中幾個:
比如,將.a文件忽略梗肝,排除lib.a文件:vim .gitignore,打開后添加*.a !lib.a
10.在添加一個文件時以git add的方式告訴git颁糟,刪除一個文件時也應(yīng)告訴git:git rm +filename
- 在添加時將多余的文件添加進(jìn)去航背,將其從staging area中移出,但不刪除文件:git rm +filename --cached
12.如果你正在改動已經(jīng)提交的文件滚停,當(dāng)有急事離開的時候,git stash粥惧,他將你正在修改的文件键畴,復(fù)制到另一個地方暫存起來,等到要恢復(fù)時:git stash pop即可
13.將一個文件的內(nèi)容復(fù)制到另一個文件中:git mv oldFile newfile
14.上一條的提升:使用通配符:git *.html src/
15.查看代碼提交歷史:git log(tig方式比較好)
16.提交之后發(fā)現(xiàn)露掉某些文件時:git add fliename
git commit --amend
17.默認(rèn)提交的時候時間為系統(tǒng)時間突雪,覆蓋提交時間:
git commit -m 'i work so hard' --date '2016-7-8 23:59:59'
18.本來想提交一個文件起惕,一不小心將其他文件add,如何將他移出:
git reset filename
19.該代碼后發(fā)現(xiàn)需求改變,不需要改動的內(nèi)容咏删,如何快速的扔掉所有的變更:git checkout
20.將git倉庫提交到遠(yuǎn)程倉庫:git remote 倉庫名稱
21.遠(yuǎn)程倉庫不僅有名稱還有url:git remote -v
22.將別人提交的代碼拉會本地:git pull origin master
23.連接遠(yuǎn)程倉庫:git remote add origin url
24.查看修改:git diff
25.建分支:git branch 分支名稱
26.創(chuàng)建并checkout到新分支:git checkout -b XXX
27.刪除分支:git checkout -d XXX
28.有時候在特性分支上提交了代碼惹想,但還不能并入主干,卻又希望和別的同事分享(比如需要他們幫做 Code Review)督函,那就需要把分支 push 到遠(yuǎn)程倉庫中去:git push origin 分支名
29.將另一個分支并入當(dāng)前工作分支:git merge XXX
30.當(dāng)遠(yuǎn)程倉庫有更新嘀粱,但我們并不想合并到本地倉庫,只想把代碼拿下來看看:git fetch origin