Git常用操作
回滚
回退 reset
(未push)
- –soft 保留源码,只回退到commit 信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.
- –hard 源码也会回退到某个版本,commit和index 都回回退到某个版本.(注意,这种方式是改变本地代码仓库源码)
- –mixed 会保留源码,只是将git commit和index 信息回退到了某个版本.
回退revert
(已push)
git revert用于反转提交,执行evert命令时要求工作树必须是干净的.
git revert用一个新提交来消除一个历史提交所做的任何修改.
revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新.(这里不会像reset造成冲突的问题)
1 | git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61 |
清除已提交内容,解决.gitignore无效
添加.gitignore执行如下
1 | git rm -r --cached . |
初始化工程
Git global setup
1 | git config --global user.name "liangxuan" |
Create a new repository
1 | git clone ssh://git@192.168.1.230:14020/xuan/test.git |
Existing folder
1 | cd existing_folder |
Existing Git repository
1 | cd existing_repo |
分支覆盖
属于分支回滚的一部分
idea操作
idea操作,切换到被覆盖的分支,然后在git->log里面找到需要覆盖到本分支的提交,然后右键点击Reset Current Branch to Here,在弹出的选项里面选择hard
命令操作
1 | #切换到被覆盖的分支(master),然后执行 |
分支归档
分支归档主要用于,分支太多,想删除,但是又怕以后会用到,因此就可以使用归档
1 | #deploy150换成你要归档的分支名 |
标签删除
1 | #删除本地,本地没有也可以执行删除,test1是tag名字,要删除指定tag,替换成自己的就行 |
常见问题
idea使用git导入项目时提示
ssh variant 'simple' does not support setting port
解决:执行
git config --global ssh.variant ssh
,详细见fatal: ssh variant ‘simple’ does not support setting port