第二十一篇,常用Git操作记录

一、拉取远程分支

// 拉取远程名叫dev的分支

git fetch origin dev // 执行后本地git branch并不能看到dev

git checkout dev // 可以看到dev了,在dev上开发

二、本地新建分支推送到远程

// 假设本地新建分支名为dev

git push --set-upstream origin dev

三、修改分支名

// 先修改本地->推送以删除远程旧名称->再推送新名称

git branch -m OldBranchName NewBranchName // 此时本地修改完成

git push origin :OldBranchName // 此时删除远程旧名称完成

// 注意写法:origin后必须有空格,冒号后必须没有空格

git push --set-upstream origin NewBranchName // 推送新名称到远端

四、cherry-pick

首先找到需要cherry-pick的提交记录,一般pick其它分支的;

然后切回本分支,执行git cherry-pick hash-ID;

这里的hash-ID要写完整。

五、rebase

git rebase分两种情况:

第一,rebase自己,即合并连续的几次提交记录,以做整理。

git rebase -i hash-ID

hash-ID要写完整,而且是开区间,解释一下,比如合并1、2、3、4、5这几个commit,那hash-ID得写6,也就是说commit 6不会被合并,到它之前为止。

使用过程中发现一个问题,合并完之后显示的是最早一个提交记录的日期时间,也就是5(1是最新),这样感觉不很合理,显示最新的更合适吧,而且没找到能实现的方法,不管怎么调整pick、s的顺序都不行,有的调法还不被允许。。。。。。

第二,rebase其它分支。

一般用于往master合入时,以使master的提交历史单线化、更清晰易理解 ,而git merge指令忠实保留各提交记录和合并记录,虽然记录完整,但时间线、事件线更复杂,根据看重点做取舍吧。

git rebase master

rebase的过程中也可能会产生冲突,解冲突之后git rebase --continue即可。

git rebase --abort放弃rebase操作,回到先前的状态

六、修改用户名、邮箱

git 查看自己的用户名和邮箱_git查看用户名和邮箱-CSDN博客

git commit --amend --author "name <mail>"

这个命令会修改commit的ID,注意。

git config --global user.name "Your Name"

git config --global user.email "your_email@example.com"

七、修改remote地址

git修改remote地址-CSDN博客

八、写多行commit

git commmit -m注释中换行问题_git commit -m 换行-CSDN博客

无他,唯手熟尔。

持续记录,勤加练习。

九、修改ignore文件后不生效

修改ignore文件后发现想要被ignore的文件并没有被ignore,状态没有改变,这是因为修改ignore只会对后续新增的文件生效,对已经commit的不生效,此时需要把缓存清一下:

git rm --cached .   或者   git rm --cached specify_your_file

然后再add、commit、pull、push

请注意,这里的rm不是真的删除workspace中的文件,而只是删除缓存中的索引,所以不必担心文件丢失,add、commit之后想要被ignore的文件的状态就会发生改变。

refer 1refer 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值