Git 常用操作

1 关闭windows上自动转为crlf格式

windown 上git会默认打开autocrlf,但我们想强制设为为LF,这样linux和windows都兼容。

1.1 运行以下命令查看当前设置:

git config --global core.autocrlf

  • 若输出为空或 false,表示未启用自动转换。这是我们期待的结果。

1.2 禁用所有自动转化,即保持为LF

git config --global core.autocrlf false

2 统计修改代码行数

先把要统计的代码文件,加入到stage阶段,也就是git add <要统计的代码文件>,或者在vscode左边导航栏“源代码管理”中,把“更改”中的文件,点击加号,加入到“暂存的更改中”,也能达到同样的效果。

加入到stage后,操作:

git diff --cached --stat

便可以显示修改的代码行数,手动加一下即可。

3  本地在新分支B上开发代码,已经提交到B了,想和主分支A同步,并保持在当前分支B

在目前的分支B上,后续要切换到主分支A上。

1)切换到主分支A上,并拉取主分支A代码

切换前,首先把主分支A代码删除: git branch -D dev-A

切换到主分支A,并拉取主分支A代码。

方法一:

重新从远程拉取主分支

git fetch origin dev-A   # 获取远程最新代码(但不自动合并)

git checkout dev-A   # 重新创建本地分支并切换到它

方法二:

或者更简洁的方式:

git checkout -b dev-A origin/dev-A # 一步完成拉取和切换

2)切换到开发分支B,进行rebase

git checkout dev-B

最关键的一步: 在当前的开发分支B上进行操作,效果是在主分支A上最新代码上,自动加入当前分支B的提交。

git rebase dev-A

4  本地在新分支B上开发代码,已经提交到B了,想和主分支A同步,并保持在主分支A上

1)切换到主分支A上,并拉取主分支A代码,和上一章保持一样。

2)保持在主分支A上,用cherry-pick 进行操作

git cherry-pick abc1234                  # abc1234 应用到当前分支 A

5 HEAD用法

HEAD 代表当前所在提交。

^HEAD 或者HEAD^ 表示当前提交的父提交。

HEAD^ 或 HEAD^1 = 当前提交的第一个父提交(等同于 HEAD~1)。

HEAD^^ = 祖父提交(等同于 HEAD~2)。

HEAD^2 = 当前提交的第二个父提交(仅在合并提交时有意义)。

1) git reset --soft HEAD^ 是一个 Git 命令,用于撤销最新的提交(commit),但保留所有修改(包括工作目录和暂存区的变更)

--soft,软重置模式,仅回退提交历史,不触碰工作目录和暂存区。

2)git reset HEAD 取消暂存区修改,不会影响到内容。

5.1 撤销

撤销最近提交,回退commit到暂存区:

git reset --soft HEAD^ 可行

撤销最近提交,回退暂存区到工作区:

git reset HEAD~1 可行

git reset HEAD^1 和上面等价

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值