当前位置:   article > 正文

git 笔记 常用命令reset merge rebase_将c4合并到b1分支

将c4合并到b1分支
在本地新路径下$ git clone https://github.com/hitgub123/golang.git,把github官网仓库拷到本地

git status查看当前分支,和其他信息

本地修改后,git add . 可以提交当前路径下所有修改到暂存区
git commit -m "任意信息"可以提交暂存区的修改到本地仓库
(get commit -am '任意信息'可以同时add和commit,删除的文件也可以使用。
但新建的文件不能使用此命令,需要分开add和commit。)
git push 可以把本地仓库的修改提交到远程仓库

如果push前(add和commit之后)其他人已经push过,导致自己的版本不是最新产生文件冲突,可以先git pull拉去他人的修改,
这样可以看到哪些文件哪些内容冲突,修改后重新add>>commit>>push

复原相关:
	修改了本地文件且已经add,使用git restore --staged 该文件 可以取消add。
	修改了本地文件且还没有add,使用git restore 该文件 可以取消修改。

	如果已经commit,restore就无效了。可以使用git reset或者revert
	
	reset可以切换到本地commit过的任意一个的版本,会留下log(git reflog可看到)
		用法是git reset 版本号(版本号通过git reflog查看),一般有--hard、--mixed、--soft3种选项
		--hard:同时复原本地仓库,暂存区,本地文件
		--mixed(或者不写):同时复原本地仓库,暂存区
		--soft:复原本地仓库

	git revert 版本号,可以撤销这个版本的修改(之前版本和之后版本的修改不变),可能造成冲突,此时需要手动解决冲突

分支:
	git branch -v 		:查看分支
		git branch -a	:查看分支,包括远程分支
	git branch 分支名  :新建分支,已经存在时不会创建,提示已经存在
		git checkout -b 分支名	:新建分支并checkout到该分支
	git branch -d 分支名 :删除分支,不存在时不删除,提示不存在
	git branch -m 分支名 新分支名:重命名
	git checkout 分支名 :切换分支
	git merge 被merge分支名	:合并分支
		git checkout master && git merge b1 :把b1分支的修改合并到master分支。
		如果b1里被修改的文件,在master没被修改过,不会冲突,否则会产生冲突
		
	
	git push origin 分支名	:push到远程子分支
		在任意分支上,add/commit后q1的修改后,git push origin q1即可push到远程q1分支。
		如果远程q1分支未创建,会自动创建。本地分支名即原分支名。在远程切换到q1分支可看到本次修改。
	
	git pull origin master(任意存在的分支):只pull master分支(任意存在的分支)的更新
	git pull 	:pull所有分支的更新()
		在子分支使用git pull时可能提示【There is no tracking information for the current branch】,
		而不更新当前子分支。可以git pull origin 当前子分支名 进行更新 
	
	在本地任意分支里,git pull origin b1把远程b1分支pull到本地后,
	能checkout到b1进行修改,然后add/commit/push到远程b1分支
	
	git rebase -i  [startpoint]  [endpoint]:合并多次提交为一条
		如果指定了endpoint且endpoint不是当前分支HEAD所指向的commit(最后的coomit?),会产生一个新的临时分支。
		之前分支endpoint之后的commit不会反映到此分支,可按照git提示保存此临时分支。
		如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit.
		不包括startpoint,包括endpoint。
			比如从新到旧有提交4次,版本号分别时c1,c2,c3,c4,
			git rebase -i c1(相当于git rebase -i c1 c4), 进入交互界面,输入i后进入编辑模式,
			将最上方的除第一行以外的pick改成s,	按exs退出编辑模式后输入:wq按回车进行保存和退出。
			之后进入commit信息输入页面,同上进行编辑保存退出后rebase完毕。
			git log 可以看到c2,c3,c4合并成了一个commit,减少了log(不减少reflog)
	rebase可以将某一段commit粘贴到另一个分支上,未尝试
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/894840
推荐阅读
相关标签
  

闽ICP备14008679号