git学习

1.git创建一个空分支#

参考:git创建一个空分支

#错误的方法
git branch new_branch
git checkout new_branch
git rm -rf ./* 
#正常情况下,创建分支必须有父分支,此时创建分支基于当前父分支。并不是空分支
#采用上面方法会出现问题:若此时切到新建分支把内容删空,就会把本地父分支内容也删除掉。
#解决办法
1.	git checkout --orphan newbranch  #git checkout的--orphan参数
#该命令会生成一个叫newbranch的分支,该分支会包含父分支的所有文件。但新的分支不会指向任何以前的提交,就是它没有历史,如果你提交当前内容,那么这次提交就是这个分支的首次提交。
2.	git rm -rf .  #注意:最后的‘.’不能少。
#想要空分支,所以需要把当前内容全部删除,用git命令
3.	echo '# new_branch' >> README.md
	git add README.md
	git commit -m 'new_branch'
4.	git push origin new_branch   #最后push到远程仓库,则新的空分支就创建成功了。

2.git 打patch(补丁)的使用:#

#生成patch
1.git diff >  1.patch			#生成patch, 本地修改的没有执行add缓存的
2.git diff 文件名 > 1.patch  	   #指定某个文件的修改打patch
3.git diff --cached >  1.patch    #已经执行git add 在想打patch可以使用	
#查看patch
1.git apply --check test.patch
#使用patch
1.git apply test.patch

#新的方法
1.git format-patch commit_id 	
#生成多个patch(git format-patch commitid会生成这个commit之后的所有patch,不包含该commit)
2.git format-patch -1 commitid 
#提取单个commitid对应的patch
3.git format-patch -3 commitid
#从当前分支最新提交点往下共生成3个补丁

git am xxx.patch   #应用patch
#可以发现这种打补丁方式会将提交信息直接都打进去,相当于add.commit都执行过了。

3.git回退到某一次提交#

git reset commit_id --hard
posted @   jie1999  阅读(25)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
主题色彩