使用Git上传GitHub代码全过程/解决冲突/删除GitHub文件
一、使用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、删除文件 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学习
1、git add . 将文件放入暂存区(.代表所有文件)
2、git commit -m "消息内容" 将暂存区的文件提交到git仓库(-m代表提交信息)
3、git status 查看文件状态
untracked未跟踪:通过git add变成staged状态unmodify已入库,但未修改- 去处:要么修改文件内容,变成
modified已修改;要么通过git rm变成untracked状态
- 去处:要么修改文件内容,变成
modified已修改- 去处:要么通过
git add变成staged状态;要么通过git checkout变成unmodify状态
- 去处:要么通过
staged已暂存- 去处:要么通过
git commit提交到库中,重新变为unmodify状态;要么通过git reset HEAD filname取消暂存,变为modified状态
- 去处:要么通过
commited已提交
4、忽略文件.gitignore
*.txt会忽略所有.txt文件!lib.txt会确保lib.txt文件不被忽略build/会忽略build目录及其所有内容/temp会忽略项目根目录下的temp文件或目录