git团队协作
写这篇文章其实是为了软件工程这个课需要展现团队合作,但是现在大学生大部分都不用(我也只push),科普一下(很有必要掌握),所以文章顺序就不是很符合逻辑,我会先讲解IDEA中怎么操作然后再说下Git Bash的操作,没去实习过所以也不知道是否规范,欢迎大家指正。
IDEA操作
只需在创建项目的时候勾选创建git仓库即可,这一步相当于git init。

这个比如你新建一个类,这个就相当于git add,提交到暂存区。


这个就相当于git commit -m 提交到本地库。不要提交并推送,正常操作是你需要先pull再push,为了避免代码冲突、保证团队代码同步。
接下来的操作我懒得截屏了
1 2 3 4 5 6 7 8 9 10 11 12 13
| git remote add origin https://github.com/DocJlm/AIPlatform.git #关联远程仓库,起别名一般喜欢叫origin
git pull origin main --allow-unrelated-histories #字面意思允许不相关历史合并
#接下来解决冲突重复add commit
git push origin master:main #推送到远程库,因为本地仓库是master分支远程是main分支,这里如果没有添加README就直接master就好因为什么都没有github空仓库默认没有分支,你上传上去就是master
git branch -m master main # 重命名本地的 master 分支为 main
git pull origin main git push origin main #之后就省事了push,pull就ok
|
如果从合作者角度来说git clone更为合适
1
| git clone git@github.com:DocJlm/AIPlatform.git
|

IDEA我感觉也没简单到哪去。。。
然后还是要注意冲突问题,下面有两个建议:
1.团队开发的时候避免在同一个文件中改代码
2.在修改一个文件前,先pull再pushGit Bash
其实上面已经涉及了不少了。然后这里还会涉及一个fork操作不过这是跨团队合作目前来看也用不到,一些基本操作和逻辑还是一样的。我就挑重点和核心说了,一些没讲到但是也比较重要的比如log,reflog,reset等也是需要掌握的,删除没啥说的就rm之后三件套(add commit push),恢复看“指针”就行。
分支
一般来说一个新的独立功能会选择新开一个分支,好处显而易见:并行开发,大大提高效率,增加容错,给我开一个分支我写完直接删了就行()。

可以自己动手操作一下分支合并解决相应冲突问题。


后续整合之后add commit即可。
接受邀请
建仓者创建邀请

打开链接,accept就好。
比较完整的流程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| git clone https://github.com/...
git checkout -b feature/user-login # 示例:创建"用户登录"功能分支这里指的是创建并使用新的分支可以看出来比较简洁,在 Git 分支命名里,通常采用 “类型 / 描述” 的格式,用于开发新功能,命名以 feature/ 开头, 后面接功能的具体描述。
git status # 查看哪些文件被修改、新增或删除
git add .
git commit -m "完成用户登录功能"
# 切换到主分支 git checkout main
# 拉取远程主分支最新代码 git pull origin main
# 切回自己的工作分支 git checkout feature/user-login
# 将主分支的最新代码合并到自己分支 git merge main
git push origin feature/user-login
# 如果是首次推送该分支,Git 会提示设置上游分支(不一定有) git push --set-upstream origin feature/user-login 本身远程库只有一个main分支,执行完这个命令之后Git会在远程 仓库中新建一个同名的 feature/user-login分支,同时将本 地分支的代码推送到这个新建的远程分支并建立本地分支与远 程分支的关联(上游分支关系)。后续再向远程推送本地分支 的更新时,就不需要每次都指定远程仓库名和远程分支名了,直接 执行git push 即可。Git 会自动根据上游分支的设置,将本 地分支推送到对应的远程分支上。例如,当你又做了一些修改 并提交到本地分支后,只需要简单地执行git push,Git 就能 把这些修改推送到远程仓库的feature/user-login分支上。在 需要获取远程分支的最新代码时,执行git pull,Git 会自动 从上游分支(也就是和本地分支关联的远程分支)拉取最新的 代码,并尝试合并到本地分支。比如团队里其他成员对远 程的feature/user-login分支做了修改并推送上去了,你 在本地执行git pull,就能快速将这些更新拉取到本地, 方便继续开发。
# 手动发起合并请求(PR)并经过审核 1.在 GitHub 上找到 feature/user-login 分支, 点击 “New pull request” 2.选择合并目标为 main 分支,填写功能说明后提交 PR 3.审核 4.若审核通过,点击 “Merge pull request” 完成合并
# 切换到主分支 git checkout main
# 拉取最新代码(包含已合并的你的修改) git pull origin main
# 删除本地工作分支(可选,保持分支整洁) git branch -d feature/user-login
|
简化版本
其实建立空仓库(不让github自己添加README)和自己项目关联没必要pull,下面是简化步骤
1 2 3 4 5 6
| git init
git remote add origin https://github.com/DocJlm/AIPlatform.git #关联远程仓库,起别名一般喜欢叫origin
git push origin master
|
结语
其实我不是很理解为啥github上面之前默认分支是master,现在改成main,查了下说主人这个意思嗯嗯,反正master第一印象在我脑子里是大师,功夫熊猫。。。也是多少有点逆天了!