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   '注释**********       
  1. 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
posted @ 2021-08-18 15:40  Hiraly  阅读(42)  评论(0编辑  收藏  举报