Git常用命令
git常用命令
git的默认编辑器为vim
git config --global core.editor vim
git用户名邮箱
`git config --global user.email "Hiraly@xx.com"`
git用户名
git config --global user.name "Hiraly"
分支关联远程分支
git push --set-upstearm origin 本地分支名
并切换到本地分支
git checkout -b <branch-name>
远程分支
git push origin --delete <branch name>
远程分支
git branche -d <branch name>
增加SSH key
1. ssh-keygen -t rsa -b 2048 -C "email@example.com"
2. (/home/user/.ssh/id_rsa): 确认是否生成rsa key
3. 在gitlab上增加生成的~/.ssh/id_rsa.pub
工作区的修改内容(已经add,但是没有commit的部分)
git checkout XX(修改的内容)
git checkout .(还原所有的内容:须要在项目根目录上)
修改上一次提交的commit
git commit --amend
# 此命令只能修改最新的一次提交内容,既可以修改提交内容,也可以修改提交说明。
# 比如你上一次提交了A文件,但是回头又发现A没有完全修改这个问题。此时你已经提交了,并推送到远程了,但是还没有合并。此时你又重新修改了A文件就可以使用`git commit --amend`修改。然后重新推送到远程仓库。
# 注意:这个方式不会修改commit ID
撤销commit
* git reset --soft HEAD^(仅仅是撤回commit操作,您写的代码仍然保留)
* HEAD^的意思是上一个版本,也可以写成HEAD~1
* 如果你进行了2次commit,想都撤回,可以使用HEAD~2
* git reset --hard(删除工作空间改动代码,撤销commit,撤销git add . )
* ps:注意完成这个操作后,就恢复到了上一次的commit状态。
* --mixed 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
并多个commit
1. **git log**,查看提交历史
2. **git rebase**,要想合并1-3条提交
1. git rebase -i HEAD~3,从HEAD版本开始往过去数3个版本
. git rebase -i 版本号
4. **选取要合并的提交**
1.执行了rebase命令之后,会弹出一个窗口,头几行如下:
pick 3ca6ec3 '注释**********
pick 1b40566 '注释*********
pick 53f244a '注释**********
- pick改为squash或者s,之后保存并关闭文本编辑窗口即可。改完之后文本内容如下
# pick :会执行这个commit
# squash: 这个commit会被合并到之后的commit中
pick 3ca6ec3 '注释**********'
s 1b40566 '注释*********''
s 53f244a '注释*******'
将远程仓库的不必要的文件删除
添加.gitigonre文件,将不需要的文件写入文件中,如.idea
执行命令git rm --cached -r .idea,该命令的作用是删除暂存区或分支上的文件,停止追踪指定文件,但该文件会保留在工作区。这样相当于stage中没有.idea文件。
git add .,将gitigonre提交
git commit
git push