1.一个本地git项目分为工作区和版本库,版本库又分为暂存区和本地仓库。
2.git的add操作是将改动从工作区添加到暂存区。3.git的checkout无法还原暂存区,只能还原工作区。4.git撤销add操作:git reset .如果撤销特定的add,reset后直接加文件路径与文件名。5.冲突的时候,如果工作区所有改动都已commit,直接:git reset --hard HEAD也可以分两步,先:git reset HEAD再git checkout .因为冲突的文件是无法直接checout的,而且不能reset --soft,因为冲突的文件不能放到暂存区。6.git commit -am "dsadsa"相当于git add -A加git commit -m "dsadsa",但是无法操作新创建的文件,新建的还是要add。7.git的checkout可以单独还原一个路径下的所有文件。8.关于git reset:git reset HEAD 除了冲突的时候,输入此命令后任何事情都不会发生。git reset HEAD~1 将提交回退到上一次,默认为mixed。git reset --mixed HEAD~1 回退提交后,将回退的提交的改动放到工作区。git reset --soft HEAD~1 回退提交后,将回退的提交的改动放到暂存区。git reset --hard HEAD~1 回退提交后,将回退的提交的改动一并删除。9.git分支:查看本地分支:git branch查看远程分支:git branch -a新建本地分支(如果和远程分支重名貌似就相当于拉远程分支):git branch xufei2切换到本地分支:git checkout xufei2拉远程分支:git checkout -b bendixinfenzhi origin/yuanchengxinfenzhi推送新分支到远程:输入git push后,它会提示你:git push --set-upstream origin xufei2推送到远程分支(一般用不上,一般直接git push推送就可以):git push origin local_branch:remote_branch删除远程分支(其实就是把空推送到某个远程分支):git push origin :remote_branch10.添加tag及其他tag相关:git tag -a t_em_prod_v1.1.0 -m "XXXXv1.1.0"git push origin --tagsgit taggit show t_em_prod_v1.1.011.设置用户名邮箱和ssh-keygen:git config --global user.name "xufei"git config --global user.email "xufei@xufei.com"ssh-keygen -t rsa -C "xufei@xufei.com"