Question
字数: 0 字 时长: 0 分钟
Q1:git大小写不敏感
使用命令
sh
git config --get core.ignorecase
# 若为true值则代表当前是忽略的,此时需要将当前项目提交设置为false
git config core.ignorecase false
# 修改全局
git config --global core.ignorecase false
直接修改.git\config
txt
[core]
ignorecase = false //(将true改为false)
Q2:清空Github仓库的commits历史记录
https://www.cnblogs.com/magic-wei/p/9919277.html
Q3:git撤销已经push到远端的commit
https://blog.csdn.net/xs20691718/article/details/51901161
Q4:Github经常性连接不上
sh
# 访问https://www.ipaddress.com/ 或者 https://site.ip138.com/
# 找到目前github的IP映射
输入域名查询IP地址
# 修改本机的hosts文件
140.82.114.4 github.com
199.232.69.194 github.global.ssl.fastly.net
185.199.108.133 raw.githubusercontent.com
Q5:多个commit合并成一个
- 输入
git log -8
//查看前8条提交 - 按大写ZZ退出日志查看,输入
git rebase -i HEAD~3
//表示最近的3条合并成一条(如果失败,检查有没有为提交或暂存的修改,提交或暂存它们) - 输入完后界面如下,按i进入编译模式,将第2,3个pick改为s,表示将后2条合并到第一条中,然后按
esc
退出编译模式,然后按大写ZZ
,再按ZZ彻底退出ctrl+w
快速删了pick
- 可以通过
git log
看合并情况,如下图表示合并成功,然后输入git push --force
推送到远程
参考
Q6:在 GitHub 提交第一个 pull request
Q7:审核 pull request
Q8:git创建分支并提交
1、 创建分支
在 Git 中,分支是项目开发的不同线路,它们允许团队在不影响主线(主分支)的情况下进行并行开发。创建分支的命令如下:
bash
# 创建一个新分支
git branch new-feature
# 切换到新分支
git checkout new-feature
# 或者使用以下命令创建并切换到新分支
# git checkout -b new-feature
以上命令创建了一个名为
new-feature
的新分支,并将工作目录切换到该分支。
2、提交更改
在新分支上进行工作后,需要将更改提交到版本控制系统。以下是提交更改的基本命令:
bash
# 添加所有更改到暂存区
git add .
# 提交更改到本地仓库
git commit -m "Add new feature"
# 推送更改到远程仓库
git push origin new-feature
上述命令将更改添加到暂存区,然后提交到本地仓库,并最后推送到远程仓库。
3、合并主分支
一旦在新分支上完成了工作,通常需要将其合并回主分支。使用以下命令合并分支:
bash
# 切换回主分支
git checkout main
# 合并新分支到主分支
git merge new-feature
# 推送主分支到远程仓库
git push origin main
上述命令将工作目录切换回主分支,然后将
new-feature
分支合并到主分支,并将合并后的更改推送到远程仓库。
4、解决冲突
在分支合并过程中,如果两个分支都修改了同一部分的代码,可能会发生冲突。解决冲突的步骤如下:
1、Git 会标记冲突的文件。手动编辑文件,解决冲突。
2、添加解决冲突后的文件到暂存区:
bash
git add <conflicted-file>
3、提交解决冲突后的更改:
bash
git commit -m "Resolve merge conflict"
4、继续合并:
bash
git merge new-feature
5、删除分支
完成分支的合并后,可以删除不再需要的分支:
bash
# 删除本地分支
git branch -d new-feature
# 删除远程分支
git push origin --delete new-feature
Q9:git再次忽略文件
以pnpm-lock.yaml
为例
停止追踪 pnpm-lock.yaml
会从 Git 的索引中移除 pnpm-lock.yaml
,文件仍然会保留在本地目录中
sh
git rm --cached pnpm-lock.yaml
.gitignore
文件中重新添加pnpm-lock.yaml
然后正常提交