参考链接: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