参考:😍 😍 😍
简明的 git 代码提交流程
前提条件:不能在 master 分支上修改任何文件。master 分支的变更只能通过 git pull
和 git merge
获得。在 master 分支下面,不能手动修改任何文件。
- 本地 dev 分支开发:首先,我们创建 dev 分支,然后切换到 dev 分支进行开发
-
git checkout -b dev
=git switch -c dev
:创建并转到 dev 分支; -
git branch
:查看当前分支,当前在 dev 分支;我们自己有一个分支用来修改代码,例如我的分支叫做 dev 分支。我把代码修改完成了,现在不知道有没有冲突。
-
git status
查看 dev 分支工作区代码跟 dev 分支暂存区的差别; -
git add .
将 dev 分支工作区修改过的所有代码添加到暂存区,.
代表当前目录; -
git commit -m "注释"
将暂存区的代码添加到本地仓库 dev 分支; -
git merge origin master
:dev 分支的工作区同步到本地 master 分支;这时,dev 工作区的文件会回到 master 分支的状态,但是不用担心,因为我们最新的修改已经保存到 dev 本地仓库了。这样做保证了 master 和 dev 分支是没有冲突的。有冲突的话就在 dev 分支解决。如果没有任何报错,那么直接转到 合并分支与提交。
-
如果有冲突,根据提示,把冲突解决,保存文件。然后执行上面第 4 和第 5 步。
- 合并分支与提交到线上:master 分支的变更只能通过
git pull
和git merge
获得
-
git checkout master
=git switch master
:切换到 master 分支
git checkout -b dev origin/dev
:切换到 dev 分支 -
git pull
:同步线上 master 仓库,确保当前 master 分支是最新代码。 -
git merge dev
:合并 dev 分支到 master(须当前在 master 分支) -
git push origin master
=git push
:推送到线上 master 分支(须当前在 master 分支) -
git push origin dev
:推送到线上 dev 分支(须当前在 dev 分支) -
git branch -d dev
:开发完成,删除本地 dev 分支;git push orgin :dev
,删除远程的 dev 分支。(可选)
- 拉取 fork 的上游仓库:通过 fork 将上游仓库的项目复制到自己仓库中,当上游的仓库变更时,通过 pull 命令同步更新到自己仓库
-
git remote -v
:可以查看本地仓库关联的远程仓库 URL,默认的远程仓库叫 origin,是自己仓库的 URL。 -
git remote add upstream ssh://git@github.com/***/***.git
:添加上游仓库的 Git URL,默认名为 upstream。 -
git pull upstream master
:拉取上游仓库的 master 分支到本地。
- 本地创建的仓库关联远程仓库:通过添加 remote 关联远程仓库
-
git remote add origin (仓库地址)
-
git pull origin main --allow-unrelated-histories
: 远程仓库为非空项目,没关联提交允许拉取合并 -
git push origin main
:push 成功