简介
同步软件设置过滤了 .git,同步到新机器后需要重新关联远程分支
步骤
初始化并配置远程
# 进入项目目录
$ cd project-dir
# 初始化本地仓库
$ git init
提示: 使用 'master' 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中
提示: 配置使用初始分支名,并消除这条警告,请执行:
提示:
提示: git config --global init.defaultBranch <名称>
提示:
提示: 除了 'master' 之外,通常选定的名字有 'main'、'trunk' 和 'development'。
提示: 可以通过以下命令重命名刚创建的分支:
提示:
提示: git branch -m <name>
提示:
提示: Disable this message with "git config set advice.defaultBranchName false"
# 添加远程仓库地址
$ git remote add origin git@codeup.aliyun.com:org-id/group/project-name.git
# 拉取远程分支的元数据(此时不会修改你本地的文件)
$ git fetch origin user/feature-branch
remote: Enumerating objects: 5000, done.
remote: Counting objects: 100% (200/200), done.
remote: Total 5000 (delta 1000), reused 150 (delta 100), pack-reused 2800
接收对象中: 100% (5000/5000), 100.00 MiB | 5.00 MiB/s, 完成.
处理 delta 中: 100% (1000/1000), 完成.
来自 codeup.aliyun.com:org-id/group/project-name
* branch user/feature-branch -> FETCH_HEAD
* [新分支] user/feature-branch -> origin/user/feature-branch关联分支并保留差异(可选)
# 1. 将当前的指针(HEAD)重置到远程分支位置
# --mixed 是默认参数,意思是:重置索引,但不重置工作区文件
# 这样你的本地修改就会变成 "Unstaged changes" (未暂存的修改)
$ git reset --mixed origin/user/feature-branch
重置后取消暂存的变更:
M src/main/java/com/example/Application.java
M src/main/resources/application.yml
……
# 2. 修正本地分支名称
# git init 默认创建的是 master 或 main,我们需要把它重命名为你实际的分支名
$ git branch -m user/feature-branch
# 3. 建立追踪关系
# 让本地分支与远程分支关联,方便后续 pull/push
$ git branch --set-upstream-to=origin/user/feature-branch
分支 'user/feature-branch' 设置为跟踪 'origin/user/feature-branch'。
评论区