当前位置 博文首页 > XSES_yasuoman的博客:git 本地文件向github上推送 两个实例

    XSES_yasuoman的博客:git 本地文件向github上推送 两个实例

    作者:[db:作者] 时间:2021-08-31 22:26

    实例之推送流程

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

    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时输入想要创建的分支名字,会直接同步历史创建该分支。

    cs
    下一篇:没有了