一:需求背景.
1.1 多人开发合作,其中甲同学维护远程主分支master,乙同学开发了一个新功能,经过甲乙丙同学共同协商一致认为该功能可行,于是甲同学决定将这个分支合并到远程仓库的master分支上去.
1.2 首先是乙同学拉取远程最新的远程仓库.
git remote rm origin
git remote add origin git_url
git pull
1.3 乙同学开发新功能,和大伙并行开发. 在本地新建一个分支.
git checkout -b function(并在当前分支下创建一个introduce.md文件模拟新功能)

1.4 推送本地分支到远程仓库分支.
git push origin function

1.5 查看远程仓库分支.

1.6 将本地fuction分支开发内容推送至远程的开发分支function.
git add introduce.md
git commit -m "提交描述"
git push origin function:function(提交本地function分支至远程仓库function分支,如果远程分支不存在就会自动创建,自己测试过可以成功推送的).有三种写法.最后一个参数是目标位置,方便记忆.
① git push <远程主机名> <本地分支名>:<远程分支名>
② git push <远程主机名> <本地分支名>(直接推送一个和本地分支同名的远程分支,如果不存在就会新建一个的)
③ git push : <远程分支名> 这个就是使用一个空的本地分支更新一个远程分支的内容,就相当于删除远程分支.

1.7 远程仓库分支内容查看.

1.8 甲同学IDEA下获取乙同学提交的分支新功能.
首先是甲同学IDEA是在自己的本地dev分支下开发的. 
首先是远程的分支拉到本地.但是不合并哟.(没有和任何一个分支合并!,只是有选择的合并.相比git pull更安全一些.)




上述操作新建一个本地分支.

拉取最新的远程分支内容到本地.并且和当前的function分支合并.



此时本地的function分支是最新的内容,接下来看看这个新的功能要不要合并到本地Master分支上去了.
甲同学感觉新功能很不多,于是将IDEA切换至本地Master分支.准备合并到本地的Master分支上去.


合并本地的function内容至Master分支上.








push至远程仓库


将之前本地仓库的修改文件一并提交至远程仓库主分支上.



二:Git实用
2.1 将远程仓库分支拉取到本地分支的方式方法总结.fetch是将远程仓库的文件下载到本地,但是不合并,如果要想合并到当前分支或者是本地指定的分支,需要git merge命令帮助一下.
git fetch origin(不指定分支名就是远程全部分支).
git fetch origin XXX(拉下远程指定的分支).
例如当前本地是master分支.要拉取远程的function分支到本地的function分支.
git fetch origin function

git checkout -b function(本地分支名) origin /function(远程分支名)

git pull origin function
FECT_HEAD(解释一下,是指某个branch在服务器的最新状态).

每一个执行fetch操作,都会存一个FETCH_HEAD列表.列表保存的位置如上图所示.
这个当前分支指向的FETCH_HEAD,就是这个文件第一行对应的那个分支.
如果没有指定就是将远程的Master分支作为FETCH_HEAD.
如果指定的远程分支,那这个远程分支作为FECT_HEAD.

2.2 IDEA下删除本地分支和远程分支.
删除本地的function分支.(git branch -d XXX)

删除远程仓库的function分支.git push origin :XXX(用一个空的本地分支更新远程分支).

2.3 git diff命令
git diff(不带参数).比较是工作区和暂存区的文件修改.

IDEA下编写GIT命令也是棒棒的.使用方便,视觉上也更舒适一些吧.
2.3 git push -all <远程主机>(将本地的所有分支都推送至远程主机).
2.4 git status (查询仓库的状态)

2.5 git log(查看仓库历史记录)(详细版)

2.6 查看历史提交所有版本的CommitID

2.7 git checkout -- file(撤销工作区的修改).
例如这里在本地的test分支下新建了一个文件,并且添加内容.



2.8 git reset HEAD 文件名



先总结到这里,初学者经验少嘛,不妥的地方欢迎修正.
本文详细介绍了一种多人协作的Git工作流程,包括如何从远程仓库拉取最新代码、创建及推送新功能分支、审查并合并代码至主分支的过程,以及常用的Git命令和技巧。
3548

被折叠的 条评论
为什么被折叠?



