本文记录使用 Learn Git Branching学习Git的学习笔记,强推这个网站!
1. Push & Pull —— Git 远程仓库
1.1 git clone
- 远程仓库是一个强大的备份。本地仓库也有恢复文件到指定版本的能力, 但所有的信息都是保存在本地的。有了远程仓库以后,即使丢失了本地所有数据, 你仍可以通过远程仓库拿回你丢失的数据。
- 远程让代码社交化了
git clone
1.2 远程分支
- 远程分支有一个特别的属性,在你切换到远程分支时,自动进入分离 HEAD 状态。Git 这么做是出于不能直接在这些分支上进行操作的原因, 你必须在别的地方完成你的工作, (更新了远程分支之后)再用远程分享你的工作成果。
- 远程分支有一个命名规范 —— 它们的格式是:
<remote name>/<branch name>
- 因此,如果你看到一个名为
origin/main
的分支,那么这个分支就叫main
,远程仓库的名称就是origin
。\ - 远程分支有一个特别的属性,在你切换到远程分支时,自动进入分离 HEAD 状态。Git 这么做是出于不能直接在这些分支上进行操作的原因
git commit
git checkout o/main
git commit
1.3 Git Fetch
git fetch
完成了仅有的但是很重要的两步:
-
从远程仓库下载本地仓库中缺失的提交记录
-
更新远程分支指针(如 o/main)
git fetch
实际上将本地仓库中的远程分支更新成了远程仓库相应分支最新的状态。
git fetch
1.4 Git Pull
- 由于先抓取更新再合并到本地分支这个流程很常用,因此 Git 提供了一个专门的命令来完成这两个操作。它就是
git pull
git pull
就是git fetch
和git merge
的缩写
1.5 模拟团队合作
fakeTeamwork
默认操作就是在远程仓库的 main 分支上做一次提交。
git clone
git fakeTeamwork 2
git fetch
git commit
git pull
1.6 Git Push
git push
负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录
1.7 偏离的工作
git pull --rebase 就是 fetch 和 rebase 的简写
git clone
git fakeTeamwork
git commit
git pull --rebase
git push
1.8 远程服务器拒绝(Remote Rejected)
- 新建一个分支feature, 推送到远程服务器. 然后reset你的main分支和远程服务器保持一致, 否则下次你pull并且他人的提交和你冲突的时候就会有问题.
git checkout -b feature
git push
git checkout main
git reset o/main
git checkout feature
评论区