常用git操作
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_branch
10.添加tag及其他tag相关:
git tag -a t_em_prod_v1.1.0 -m "XXXXv1.1.0"
git push origin --tags
git tag
git show t_em_prod_v1.1.0
11.设置用户名邮箱和ssh-keygen:
git config --global user.name "xufei"
git config --global user.email "xufei@xufei.com"
ssh-keygen -t rsa -C "xufei@xufei.com"