使用Git上传GitHub代码全过程/解决冲突/删除GitHub文件

第一次用GitHub,上传代码网上看各种教程用git用半天,有点无语,明明github现在创建默认是main分支,那些人非要用master,我之前也什么没弄懂这个分支,稀里糊涂就复制粘贴了,怎么解决冲突也不说,我自己一堆骚操作瞎搞半天,遂作此文档记录学习

开头像怎么下载,设置ssh这些我就不讲了,自己看其他教程去

本文不适合纯新人看,适合新但没那么新的人看!!!纯新人还是去找那些图文并茂的文章看吧

一、使用git上传代码的步骤

假设我要上传的是main分支,github新建仓库默认是main分支
0、如果你的文件夹是git clone下来的,跳过下面的1、2步,因为这些已经有了
1、git init 初始化
2、git remote add origin <https> 添加远程仓库的地址,如果后面push的时候报错:fatal: unable to access 'https://github.com/...',可以选择git remote set-url origin <ssh>
3、git add . 或者 git add <filename> 将文件放入暂存区
4、git commit -m "消息内容" 将暂存区文件提交到本地git仓库
5、git branch 查看现在分支,如果现在是master分支,你要上传到main分支的话,则执行git branch -M main
6、git push origin main 把本地仓库上传到远程仓库,如果是远程仓库里面没文件的话(你创建仓库时点了创建README.md,这个就算文件了)要使用 git push -u origin main ,中间多一个-u
7、如果你在本地创建了一个新仓库,并尝试将其与一个已有的远程仓库合并,会报错:fatal: refusing to merge unrelated histories,表示 Git 认为你本地的历史与远程的历史没有共同的祖先,这时候使用git pull origin main --allow-unrelated-histories拉取远程更改并允许不相关的历史合并,再选择推送git push origin main即可
8、如果乱整一些操作之后git push,报错Updates were rejected because the remote contains work that you do not have locally,这个错误表明远程仓库的main分支包含了你本地没有的更新;或者Updates were rejected because the tip of your current branch is behind,这个错误表明你的本地main分支落后于远程main分支——执行git pull origin main将远程仓库的更改拉取到本地,然后再git commit
9、如果在上述过程中出现了you have unmerged files出现了冲突,则git status查看并解决冲突,然后git add <conflicted-file>标记冲突已解决

二、解决冲突

1、删除冲突的文件的步骤

有冲突?干脆直接删了好了()
1、删除文件 rm -rf <filename>
2、标记删除 git add <filename>
3、提交更改 git commit -m "Remove conflicting file"
4、推送更改 git push origin main

三、删除github上的文件

1、git pull origin main 将文件全部拉下来,这里是main分支,想操作master分支要改一下
2、dir 查看目录
3、git rm -r --cached <filepath> 删除指定路径的文件
4、git commit -m "删除了..." 提交删除操作说明
5、git push -u origin main 提交更新

四、git学习

在工作目录添加、修改文件
git add . 将文件放入暂存区(.代表所有文件)
git commit -m "消息内容" 将暂存区的文件提交到git仓库(-m代表提交信息)

git status 查看文件状态

untracked 未跟踪:通过git add变成staged状态

unmodify 已入库,但未修改

去处:1. modified 已修改
2. 通过git rm变成untracked状态

modified 已修改

去处:1. 通过git add变成staged状态
2. 通过 git checkout变成unmodify状态

staged 已暂存

去处:1. 通过git commit提交到库中,重新变为unmodify状态
2. 通过git reset HEAD filname取消暂存,变为modified状态

commited 已提交

忽略文件.gitignore

*.txt 会忽略所有 .txt 文件
!lib.txt 会确保 lib.txt 文件不被忽略
build/ 会忽略 build 目录及其所有内容
/temp 会忽略项目根目录下的 temp 文件或目录

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值