远程协作
分清三个概念:
· 远程分支
· 远程跟踪分支
· 本地分支
正常的数据推送和拉取步骤:
1. 确保本地分支已经跟踪了远程跟踪分支
2. 拉取数据:git pull
3. 上传数据:git push
一个本地分支怎么去自动跟踪一个远程跟踪分支:
1. 新建一个本地分支,指定想要跟踪的远程分支
git checkout -b 本地分支名 远程跟踪分支名
git checkout -b --track 远程跟踪分支名
当克隆的时候,本地分支的master会自动跟踪对应的远程跟踪分支,不需手动跟踪
2. 将一个已经存在的本地分支自动跟踪一个远程跟踪分支
git branch -u 远程跟踪分支名
git branch -vv 查看分支是否自动跟踪
团队协作
1. 项目经理初始化远程仓库
一定要初始化一个空的仓库; 在github上操作
2. 项目经理创建一个待推送的本地仓库
git remote add 别名 仓库地址(https)
git init ; 将源码复制进来
修改用户名 修改邮箱
git add
git commit 提交
3. 项目经理推送本地仓库到远程仓库
清理windows凭据(搜索凭据)
git push 仓库别名 分支名 (输入用户名 密码;推完之后会附带生成 远程跟踪分支)
4. 项目经理邀请成员 & 成员接受邀请
在github上操作
---------------------------------------------------------------------------------------------
5. 成员克隆远程仓库
git clone 仓库地址 (在本地生成.git文件 默认为『远程仓库』配了别名 origin,项目经理配置的别名于你无关)
只在克隆的时候 本地分支(master)和 远程跟踪分支(别名/master)是有同步关系的,可以直接git push。项目经理的本地分支master仍需要自行同步
git branch -u 远程跟踪分支 同步当前分支与远程跟踪分支(--set-upstream-to 的简介)
6. 成员做出贡献
修改源码文件
git pull
git status
git add ./
git status
git commit
git push origin 分支名 (输入用户名 密码,把当前本地分支同步给远程分支;推完之后会附带生成远程跟踪分支)
git push 拉取后若修改远程分支,在同步状态下可以直接将本地分支同步到远程对应的分支
7. 项目经理更新修改
git remote -v 查询仓库别名
git fetch 仓库别名 (将远程分支同步到远程跟踪分支上)
git merge 远程跟踪分支 在主分支master上合并远程跟踪分支
git checkout -b --strack 远程跟踪分支 创建一个与远程分支同名的本地分支
git checkout -b some 远程跟踪分支 创建一个不同名的本地分支来对应远程分支
git pull 在同步状态下可以直接拉取 远程分支 到 本地分支
理解:
git push 和 git fetch 的时候,都是远程跟踪分支和远程分支之间
当本地分支和远程跟踪分支同步了,那么就可以看作是一个,只有在克隆的时候,本地分支和远程跟踪分支才有同步关系
成员克隆后做的操作:
git glone 仓库地址 克隆仓库
git checkout -b 分支名 创建一个分支做出贡献
git push origin 分支名 向远程仓库推送分支(生成远程跟踪分支)
git branch -u 远程跟踪分支 同步当前分支与远程跟踪分支(若是master,则克隆后是自动跟踪的)
下一次即可 git push
冲突
git本地操作会不会有冲突?
典型合并的时候会有冲突
git远程协作的时候会不会有冲突?
push
pull
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)