赞
踩
一、 git命令回退方法
- 1. Git add回退
- git status 先看一下add中的文件,确定已经添加的文件。
- git reset HEAD 如果后面什么都不跟的话,就是add已添加的全部撤销。
- git reset HEAD xxx.cpp 只撤销所列出的文件。
-
- 2. Git commit回退
- git reset --soft HEAD^
- 这样就成功的撤销了你的commit。注意,仅仅是撤回commit操作,您写的代码仍然保留。
-
- HEAD^的意思是上一个版本,也可以写成HEAD~1,如果你进行了2次commit,想都撤回,可以使用HEAD~2
- --mixed 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
- --soft 不删除工作空间改动代码,撤销commit,不撤销git add .
- --hard 删除工作空间改动代码,撤销commit,撤销git add .
-
- 顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
- git commit --amend
-
- 3. Git review回退
- git checkout [分支名] 切换到需要回退的分支
- git log 查看提交记录
- git reset --hard 代码回退
- git reset --hard [commit id] 复制最近提交的上一条提交记录的commit id
- git review 重新提交修改
-
- 4. Git rebase回退
- git reflog 先查看本地提交操作编号。
- 找到提交前的项目编号,例如4c173eb HEAD@{3}: commit: scan ,执行:git reset --hard 4c173eb
-
- 5. Git cherry-pick回退
- git cherry-pick --abort.
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
二、git 常用命令
- 1、查看远程分支
- git branch -r
-
- 2、查看本地分支
- git branch
-
- 3、创建新分支
- git branch 新分支名称
-
- 4、切换分支
- git checkout 分支名称
-
- 5、创建分支的同时,切换到该分支上
- git checkout -b 新分支名称
-
- 从远程仓库pull(拉取)代码到本地分支
-
- 6、指定远程分支,和本地分支
- $ git pull origin 远程分支名称:本地分支名称
-
- 7、如果不写本地分支名称,则默认和远程分支同名 ,命令如下:
- $ git pull origin 远程分支名称
-
- 将新分支推送到远程仓库
-
- 方法1:使用git命令
- git push origin 分支名称
-
- 假设我本地创建了一个名为dev的分支,远程仓库还没有这个分支,推送的命令是:
- git push --set-upstream origin dev
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- 删除分支
- 1、删除本地分支(不能删除当前所在的分支,如果要删除,必须先切换到其他分支上)
- git branch -d 分支名称
-
-
- 如果删除时报错:error: The branch '分支名称' is not fully merged. (意思是:分支未完全合并)。解决方法是使用 -D 强制删除,代码如下:
- git branch -D 分支名称
-
-
- 2、删除远程分支
- git push origin :分支名称
- 注意:分支名称前有个冒号,分支名前的冒号代表删除
- 合并分支
- 1、假如我们现在位于分支dev上,刚开发完自己负责的功能,执行了下列命令:
-
- git add .
- git commit -m '某某功能已完成,提交到[分支名称]分支'
- git push -u origin 分支名称
-
-
- 2、首先切换到master分支上
- git checkout master
-
-
- 3、如果是多人开发的话,需要把远程master分支上的代码pull下来
- git pull origin master
-
-
- 4、然后把dev分支的代码合并到master上
- git merge 分支名称
- 如果git merge的时候出现冲突,可以执行下面的命令取消merge:
- git merge --abort:
-
-
- 5、然后查看状态
- git status
-
-
- 6、最后一步,Push推送到远程仓库
- git push origin master
-
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。