Skip to content

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

alt text

alt text

  • 可以通过git log看合并情况,如下图表示合并成功,然后输入git push --force推送到远程

alt text

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

然后正常提交