在新电脑上将文件推送到已有的 Git 仓库

发布于:2024-09-18 ⋅ 阅读:(11) ⋅ 点赞:(0)

初始设置

首先,我克隆了远程仓库到我的新电脑上:

git clone git@gitee.com:Lillyluoluo/principles-of-computer-composition-2024-first-lesson.git

添加文件

我将一个名为 xxx.docx 的文件添加到本地仓库的暂存区,并提交了更改:

git add xxx.docx
git commit -m "Add new files again"

推送到远程仓库

当我尝试推送更改到远程仓库时,遇到了问题:

git push origin master

遇到的问题

我遇到了一个 non-fast-forward 错误,这意味着我的本地分支落后于远程分支。为了解决这个问题,我首先尝试了 git pull 来拉取远程更改:

git pull origin master

但是,这个命令失败了,因为 Git 拒绝合并无关的历史。为了解决这个问题,我使用了 git pull --rebase 来整合远程更改:

git pull --rebase origin master

解决冲突

在变基过程中,我遇到了一些冲突。我解决了这些冲突,并继续了变基操作:

git add <resolved_files>
git rebase --continue

成功推送

在成功变基并解决所有冲突后,我再次尝试推送我的更改,这次成功了:

git push origin master

查看状态

在整个过程中,我频繁使用 git status 来检查当前的状态,确保我正确地进行了每一步:

git status

我也使用 git log 来查看提交历史,确保所有更改都被正确记录:

git log --oneline --graph --decorate --all

结论

通过这个过程,我成功地将文件从新电脑推送到了已有的 Git 仓库。我学到了如何使用 git pull --rebase 来整合远程更改,以及如何解决变基过程中可能遇到的冲突。这是一个宝贵的经验,对于在多台设备上使用 Git 进行版本控制非常有用。

关键命令

  • git clone [repository-url]:克隆远程仓库。
  • git add [file]:添加文件到暂存区。
  • git commit -m "[message]":提交更改到本地仓库。
  • git push origin [branch]:推送更改到远程仓库。
  • git pull origin [branch]:拉取远程仓库的更改。
  • git pull --rebase origin [branch]:使用变基拉取远程更改。
  • git status:查看当前仓库状态。
  • git log --oneline --graph --decorate --all:查看提交历史。

通过记录这个过程,我希望能够帮助自己和其他开发者在遇到类似问题时找到解决方案。

在你尝试在另一台电脑上将文件推送到已有的 Git 仓库的过程中,以下是关键的命令和步骤,以及你如何解决遇到的问题:

### 关键命令

1. **克隆远程仓库**:
   git clone git@gitee.com:Lillyluoluo/principles-of-computer-composition-2024-first-lesson.git

2. **添加文件到暂存区**:
   git add xxx.docx

3. **提交更改到本地仓库**:
   git commit -m "Add new files again"

4. **添加远程仓库**(如果尚未添加):
   git remote add origin git@gitee.com:Lillyluoluo/principles-of-computer-composition-2024-first-lesson.git

5. **推送更改到远程仓库**:
   git push origin master

6. **拉取远程更改**:
   git pull origin master

7. **使用变基整合远程更改**:
   git pull --rebase origin master

### 解决遇到的问题

1. **解决非快进错误**:
   - 通过 `git pull origin master` 拉取远程更改。
   - 当 `git pull` 失败时,使用 `git pull --rebase origin master` 来整合更改。

2. **处理无关历史合并问题**:
   - 使用 `git pull --rebase origin master` 而不是 `git pull` 来避免合并无关的历史。

### 查看状态的命令

1. **查看当前状态**:
   git status

2. **查看提交日志**:
   git log --oneline --graph --decorate --all

3. **查看已跟踪文件**:
   git ls-files


网站公告

今日签到

点亮在社区的每一天
去签到