Git学习笔记
Git是一个开源的、分布式的版本控制系统
1. 克隆Git仓库代码
git clone "path"
2. 修改内容添加到临时存储区
git add . 将所有修改都存储到临时存储区
git add "path" 把某个文件存储到临时存储区
3.提交修改内容
git commit -m "remark" 提交修改代码 -m是备注,提交说明等
4.修改代码推送到远程仓库
git push
5. 拉取代码最新版本
git pull
6. git局部配置远程登录用户或全局配置远程登录用户
git config user.name
git config user.email
git config --global user.name
git config --global user.email
7.本地代码已修改,同样的文件远程仓库里有文件代码新版本会出现冲突
首先,先把远程仓库的代码拉取下来,前提是先把本地代码修改隐藏掉
git stash
然后拉取远程仓库最新代码后,查看冲突内容
git stash show -p stash@{0} stash@{0}代表哪一个隐藏块儿,具体与download下来的内容不同之处是什么
如果没什么问题,把隐藏的代码修改合并到代码库里
git stash apply stash@{0}
查看本地所有待提交、临时存放的修改
git stash list
8.Git push遇到RPC failed问题
可以参考以下解决方案,亲测有效:
# 减小推送包大小
git config --global pack.windowMemory 100m
git config --global pack.packSizeLimit 100m
git config --global http.postBuffer 52428800 # 50MB
# 然后尝试分批推送
git push origin main --all --force
git push origin main --all --force-with-lease
考虑到避免覆盖他人的工作,--force替换成--force-with-lease
#推送后检查完整性:git fsck
9.构建和临时文件已提交到Git仓库,已标记跟踪这些文件,该如何取消
注意:一次可能会遇到RPC 413错误,请求体过大导致请求失败,需分批或按文件/夹路径一部分一部分进行下面的操作
RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
9.1 git rm -r --cached folder/filepath 停止跟踪这些文件或文件夹
git rm -r --cached api/Azure_AI/Azure_AI/.vs
或 git rm -r --cached //一次性清除所有缓存
9.2 git add 添加到暂存区
9.3 git commit -m "备注说明" 提交
9.4 git push 推送
10. Visual Studio 2022 git拉取代码 提示Recv failure: Connection was reset错误
# 禁用压缩(有时能解决连接重置问题)
git config --global http.https://xxx.disableCompression true xxx git地址
如还不行可尝试:打开visual studio installer修复vs工具或更新vs工具,重启vs工具再尝试拉取git代码
11. 已经提交但未成功推送到远程仓库
首先执行git log --oneline查看提交历史记录,只有一条提交记录和多条提交记录有区别。
1)只有一条提交记录
需执行这条语句撤销提交,git update-ref -d HEAD 删除当前分支的 HEAD 引用(即删除那次提交)
然后分批提交,比如按目录分批提交即可
2)多条提交记录
需执行 这条语句撤销提交,git reset --soft HEAD~1 撤销最近一次提交,但保留所有已暂存的更改(--soft)
或者退到哪个版本,替换HEAD~1
然后分批提交即可
12.创建孤立分支并切换到分支,优点:没有父提交和历史完全分离
命令语句 git checkout --orphan <新分支名>
执行 git rm -rf 删除所有文件(准备重新开始)
或执行 git clean -fdx 清空工作区内容,选择哪些内容需要上传
查看孤立分支历史:git log --oneline <孤立分支名>
推送到孤立分支:git push origin <孤立分支名>
保留 README.md 和 LICENSE :git ls-files | grep -v -E "README\.md|LICENSE" | xargs git rm -f
浙公网安备 33010602011771号