git 本地文件向github上推送 两个实例

本文提供两个实例详细讲解如何将本地git分支推送到GitHub。第一个实例是将本地分支推送到已存在的远程分支,强调了在推送前需要先拉取远程最新代码并合并。第二个实例展示了如何在git过程中创建并推送一个新的远程分支。文中还特别提醒了在不同历史记录情况下推送的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实例之推送流程

本地分支向一固定分支推送

  1. GitHub上创建仓库(创建了README.md,且有一固定名字分支情况下,设default分支名字是"main")

  2. 本地git init

  3. 本地 git remote add origin URL

  4. 本地 git pull <远程主机名"origin"> <远程分支名"main">:<本地分支名"master"> # 把远程最新的代码更新到本地

  5. 本地 git branch --set-upstream-to origin/<远程分支名"main"> # 关联远程分支

    * master fa87883 [origin/divide-and-conquer: ahead 1, behind 1] test
    
    • 出现类似如上信息,则说明关联成功,master为本地分支名,divide-and-conquer为远程分支名,test为commit提交信息

    • 如果push时,严格使用git push <远程主机名> <本地分支名>:<远程分支名>,则不需要第5步关联远程分支了!

  6. 本地 git add .

  7. 本地 git commit -m "xxx"

  8. 本地 git push <远程主机名> <本地分支名"master">:<远程分支名"main">

【注:易错点】

如果在第3步后 没有先 进行git pull <远程主机名> <远程分支名>:<本地分支名>合并远程分支到本地(同时使得两个分支初始历史记录一致) ,而是先进行了git add .操作的话

(由于远程分支和本地分支是两个独立的分支,本地先 git add .导致本地历史先出现了更改操作,本地分支与远程分支历史不同步,后续操作会出现错误,如下表)

操作错误
git pull <远程主机名> <远程分支名>:<本地分支名>fatal: refusing to merge unrelated histories
git push <远程主机名> <本地分支名>:<远程分支名>failed to push some refs to git

这种情况可以使用 在操作后+--allow-unrelated-histories的方法来忽略两个分支历史联系,例如:

  • git pull <远程主机名> <远程分支名>:<本地分支名> --allow-unrelated-histories
  • git push <远程主机名> <本地分支名>:<远程分支名> --allow-unrelated-histories

本地分支向远程仓库推送到一个新分支(原来没有,需要在git过程中创建)

  1. GitHub上创建仓库,你不想推送至main分支,而是一个新的分支"new"

  2. 本地git init

  3. 本地 git remote add origin URL

  4. 本地 git add .

  5. 本地 git commit -m "xxx"

  6. 本地 git push <远程主机名"origin"> <本地分支名"master">:<远程分支名"new">

    上面提到过,该命令可以直接创建远程分支。

 * [new branch]      master -> new

​ 出现上述,说明创建成功,new为远程分支名

  1. 如果你本地没有写README文件,你也可以在GitHub中创建你的README文件。
【注】

直接push即可,无需关心git add .命令是否会破坏历史记录,既然远程仓库还没有分支,何来破坏可言,push时输入想要创建的分支名字,会直接同步历史创建该分支。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值