一、使用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 文件或目录