Git 基本操作以及遇到的问题记录
#Git 2024/11/05 13:57:32
Config 命令
# 查看git config
git config --global --list
# 配置一个config 项
git config --global proxy http://localhost:8080
# 取消配置项
git config --global --unset proxy
设置账号
git config --global user.name username
git config --global user.email email
#ssh 登录
ssh-keygen -t rsa #将公钥保存在git服务端
#http 登录
http://username:pass@domin #~/.git-credentials
git config --global credential.helper store #长期存放密码(另有cache缓存密码)
#带登录信息拉取
git clone http://username:pass@domin/*.git
使用技巧
-
删除分支
#删除 abc-*开头的分支 git branch -D `git branch | grep abc-*` #删除所有已经合并的分支 git branch --merged | egrep -v "(^\*|master|main|dev)" | xargs git branch -d (分支名称有特殊字符会报错) #删除所有已经合并的分支 git branch --merged | grep -v "^\*\|master\|main\|dev" | while read branch; do git branch -d "$branch"; done
-
连接本地与远程分支
git branch --set-upstream-to=origin/master master
-
允许不同历史拉取
git pull --allow-unrelated-histories
-
添加远程地址
git remote add origin url
-
多个远程地址 (theme/origin)
git pull theme master
git pull origin master
-
更新.gitignore
git rm -r --cached . #清除缓存 git add . #重新 trace file git commit -m "update .gitignore" #提交和注释 git push origin master #可选,如果需要同步到 remote 上的话
-
在.gitignore 中添加新的忽略内容后更新 gitignore (components.d.ts)
git rm -r --cached components.d.ts
-
添加被 .gitignore 忽略的文件
git status --ignored # 显示被忽略的文件 git add -f <file_name> # 添加文件
遇到的问题
-
clone 代码‘The requested URL return error 403’
如果有多个用户设置过 git 账号,有可能是以前用户的 git 账号信息未清除,在 windows 控制面板 > 账号控制 > 登陆凭证下检查 git 凭证信息
-
提交代码时换行问题
git config --global core.autocrlf [true | false | input] #true 提交时将所有 CRLF 转为 LF,拉取时将 CRLF 转为 LF,适合 windows #input 提交代码时将所有 CRLF 转为 LF,拉取时不作任何改变,适合 linux #false 不作任何改变 #在项目里添加.gitattributes 配置文件设置格式,优先级高于 autocrlf
-
拉取代码时报错
fatal: bad object refs/remote/origin/fix-hotpot error: https://github.com/repo.git did not send all necessary objects # 删除路径 .git/refs/remote/origin/fix-hotpot
-
之前 revert 撤销的合并,在后续合并时还是会被主分支移除。
因为主分支记录中还有之前的 revert 记录,需要继续 revert 之前的 revert 记录,如之前的 revert 记录为 14a4039a32169ede2bc2d3f92fe88982ecca68b8,即
git revert 14a4039a32169ede2bc2d3f92fe88982ecca68b8