git同步代码的各种场景

2024-07-14 10:25:29 371
涵盖了从远程仓库拉取最新代码、推送本地代码到远程仓库、同步子模块等操作

拉取代码

从远程仓库拉取最新代码并合并到当前分支

git pull <remote> <branch>

示例:

git pull origin main

使用rebase同步远程分支到本地分支

--rebase 使用变基操作将本地提交重新应用在远程分支的基础上,使得提交历史保持线性和整洁,适合在团队协作和代码审查中使用。

git pull --rebase <remote> <branch>

示例:

git pull --rebase origin main

只拉取(fetch)远程仓库的更新,不合并

git fetch <remote>

示例:

git fetch origin

拉取特定远程分支的代码并合并

git fetch <remote> <branch>
git merge FETCH_HEAD

示例:

git fetch origin feature-branch
git merge FETCH_HEAD

推送代码

推送本地分支到远程仓库

git push <remote> <branch>

示例:

git push origin main

强制推送代码(谨慎使用)

git push <remote> <branch> --force

示例:

git push origin main --force

推送所有分支

git push --all <remote>

示例:

git push --all origin

合并代码

合并远程分支到本地分支

git merge <remote>/<branch>

示例:

git merge origin/main

同步子模块

初始化子模块

git submodule init

更新子模块

git submodule update

拉取最新的子模块代码

git submodule update --remote

同步标签

拉取远程仓库的标签

git fetch --tags

推送标签到远程仓库

git push origin <tagname>

示例:

git push origin v1.0

同步所有远程分支

拉取所有远程分支的更新

git fetch --all

检查远程仓库状态

查看所有远程仓库

git remote -v

查看远程分支

git branch -r

比较本地和远程分支差异

比较本地分支与远程分支的差异

git diff <branch> <remote>/<branch>

示例:

git diff main origin/main

重置本地分支为远程分支

强制重置本地分支为远程分支的状态

git reset --hard <remote>/<branch>

示例:

git reset --hard origin/main

以上命令涵盖了Git同步代码的主要操作。通过掌握这些命令,你可以在不同的开发和协作环境中有效地同步代码,确保团队成员的工作保持一致。注意在执行关键操作(如强制推送和重置)时,进行充分的沟通和确认,以避免数据丢失或代码冲突。