git本地仓库关联远程仓库

本文讲述了作者将项目从SVN迁移到Git过程中遇到的问题,如未跟踪的文件冲突、首次提交及合并远程master分支时的挑战,以及如何通过stash和rebase进行有效操作以解决这些问题。

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

首先,本地文件之前是svn管理,现在直接换成git,远程仓库已经有新代码和master分支

  1. 初始化 git init
  2. 关联远程仓库   git remote add origin https:....git(换成远程仓库地址)
  3. git branch -a 查看目前有哪些远程分支
  4. 拉取远程的master分支 git pull origin master     ,此时报错 error: The following untracked working tree files would be overwritten by merge:   本地有多个文件与远程仓库不一致,不能直接使用  git reset --hard HEAD 因为目前还不在哪个分支
    fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.也不能直接使用切换分支 git checkout -b master origin/master 
    error: The following untracked working tree files would be overwritten by checkout:
            .babelrc .js   Aborting
  5. 此时先贮藏目前的差异文件  git add . 添加全部差异文件;

     $ git stash save -a  'svn' 
    You do not have the initial commit yet  

    0@DESKTOP-2RBCSD9 MINGW64 /d/newFrontProject (master)
    $ git commit
    [master (root-commit) 9ddb6f8] nit svn   (查看状态)$ git status
    On branch master
    nothing to commit, working tree clean

  6. 再次查看git branch -a并且拉取$ git pull origin master,发现出现merge conflict;(master|REBASE 1/1)
    $ git status
    interactive rebase in progress; onto 1245feb

  7. 查看所在分支会发现是rebase状态,也就不在master分支上 :

     (master|REBASE 1/1)
    $ git branch
    * (no branch, rebasing master)
      master

    0@DESKTOP-2RBCSD9 MINGW64 /d/newFrontProject/DossierSite/WebSiteForManager (master|REBASE 1/1)
    $ git reset --hard HEAD(不想直接丢弃本地差异文件可以再次使用前面步骤5进行贮藏)
    HEAD is now at 1245feb Merge #1 into master from dev1

  8. 使用rebase命令:(master|REBASE 1/1)
    $ git rebase --continue
    Successfully rebased and updated refs/heads/master.

  9. 再次拉取master分支,此时状态正常,拉取成功:

     (master)
    $ git pull origin master --rebase
    From https://
     * branch            master     -> FETCH_HEAD
    Already up to date.

  10. 查看所在分支已正常:(master)
    $ git branch
    * master (*表示目前在这个分支上)

  11. 此时直接git pull 拉取代码会提示没有关联远程分支:

     (master)
    $ git pull
    There is no tracking information for the current branch.
    Please specify which branch you want to rebase against.
    See git-pull(1) for details.

        git pull <remote> <branch>

    If you wish to set tracking information for this branch you can do so with:

        git branch --set-upstream-to=origin/<branch> master
     

  12. 使用命令:(master)
    $ git branch --set-upstream-to=origin/master master
    提示 Branch 'master' set up to track remote branch 'master' from 'origin'.

  13. 使用 git pull正常,不需要指定分支
    Already up to date.

要将本地仓库远程仓库关联,有两种方法可以选择。一种是通过IDE(如idea、pycharm等)添加远程仓库,另一种是通过git bash命令行添加。 通过IDE添加远程仓库的步骤如下: 1. 在IDE中打开本地仓库。 2. 添加远程仓库的SSH地址。 3. 输入SSH密码进行验证。 通过git bash添加远程仓库的步骤如下: 1. 打开git bash命令行。 2. 使用命令`git remote add \[远程分支名\] \[远程仓库SSH地址\]`来在本地添加远程仓库关联。例如:`git remote add origin git@github.com:Barry-Manilow/myblog.git`。 3. 使用命令`git remote -v`查看已经关联远程仓库。 在第一次推送内容并关联分支时,可以使用命令`git push -u origin master`。之后的推送可以直接使用`git push`命令。因为第一次已经将当前本地master分支和远程origin的master分支关联了。如果需要将远程仓库origin的master分支与本地仓库master分支关联,可以使用命令`git branch --set-upstream-to=origin/master master`。 综上所述,要将本地仓库远程仓库关联,可以通过IDE添加或者通过git bash命令行添加。 #### 引用[.reference_title] - *1* [使用Git本地仓库远程仓库关联的三种方式](https://blog.youkuaiyun.com/weixin_44469233/article/details/127679497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Git本地仓库远程仓库关联](https://blog.youkuaiyun.com/sanmi8276/article/details/109910836)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【git学习】本地关联远程仓库](https://blog.youkuaiyun.com/qq_27688393/article/details/126669161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值