GIT 的一些操作, merge 和 rebase 区别

 1. 下载代码
	git clone xxx需要克隆的代码链接
	
 2. 提交代码
	git add .  将文件从工作区–>暂存区
	git commit - m '本次提交的描述'  是将文件从暂存区–>git本地仓库
	git push   提交到远端仓库
	
 3. 代码提交到错误分支
	git cherry-pick <commit-id> 
		其中,<commit-id> 希望把其他分支commitID 拿到当前分支
		
 4. 查找分支
 	git branch --list *需要查找分支*
 	
 5. 删除分支
	git branch -D 需要删除的分支
	
 6. 修改commit 提交记录
	 (1). 修改最近一次 commit 提交记录
	 	git commit --amend
	 	然后按键盘i 键,修改之后按Esc 再按 :wq 退出编辑命令窗
	 (2). 修改之前 commit 提交记录 
	 	git rebase -i
	 	然后按键盘i 键,修改之后按Esc 再按 :wq 退出编辑命令窗
	 注意:修改提交记录会改变历史,因此需要谨慎使用,并且最好只在本地仓库内进行修改。
	      如果已经将修改push 到远程仓库,那么其他人在 pull 时会出现问题,因此需要通知其他人在
	      修改之前先进行 pull    
 7. 查看提交记录
 	git log      查看提交记录 不包括已经被删除的 commit 记录和 reset 的操作
 	git reflog   查看所有的提交记录 包括提交,回退的操作
 	
 8. 回退代码
 	git rest --hard HEAD^:回退到上一版;
	git rest --hard HEAD^^:回退到倒数第二版;
	git rest --hard 3628164:回退到commit id为3628164的版本
	
 9. Git rebase 和 Git merge 区别以及使用
	(1) Git rebase 的一些使用
		方法一:拉取远程最新生产分支(master),本地master分支单独更新。
			(1) 切换开发分支:git pull --rebase origin master (可能会产生冲突)
			(2) 解决冲突 -> git add .
			(3) git rebase --continue| --abort
				可能会有多次冲突,重复2、3项
			(4) git push -f
		方法二:更新本地生产分支(master),使用rebase变基操作
			(1) 切换master:git pull
			(2) 切换开发分支:git rebase master (可能会产生冲突)
			(3) 解决冲突然后执行 -> 4、5项
			(4) git add . 
			(5) git rebase --continue 
			    执行之后如果没冲突 就会展示当前分支然后执行7 项,否则会展示commitId 看6项)
			(6) 可能会有多次冲突,重复2、3项
			(7) git push -f
		其他的一些操作:
			(4) git rebase --abort 是中断这次rebase
			(5) git rebase --skip  忽略本次rebase (慎用可能会造成能代码丢失)
			(6)把本次分支所有的commit提交合并为一次
				git rebase -i commitId(master最新的一次提交id)
				进入vi 把第一条下的所有pick xxxx 改为 s(squash) xxx
				:wq退出
				git push -f(强推一下)
 	(2) Git merge 的使用
 		 git merge <需要合并的分支> 如果又冲突合并之后解决冲突 
 		 然后git push 提交代码,
 		 git merge --abort 放弃本次merge
 	(3) 区别 
 		  git merge 会产生一条新的提交记录,保留了被合并的分支的所有提交记录,合并后的提交记录
 		    是一个新的节点
 		  git rebase 不会,git rebase会丢失被移动的分支的提交记录,合并后的提交记录是原来的节
 		    点移动到了新的位置(新手不建议使用)
 		  白话文:git merge 合并之后会把不同日期开发的代码穿插着,git rebase 会把当前分支代码
 		    合并到被合并的分支最前边
	

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值