阐述一个案例,最近在开发中遇到一个问题。自己在代码的主分支拉了一个分支,开始快乐的开发修改了。同事小明也在主分支拉了一个分支,也在快乐的修改。小明的开发速度很快,一个问题很快就解决了,并且把自己的代码,提交合并到主分支了。当我完成自己的工作,去主分支进行代码的合并的时候,发现不能提交了。那么问题了来了,关于我们在开发中遇到的这些问题是如何解决的呢。
一个思路就是
首先在本地也创建一个主分支,拉取主分支的代码到本地的主分支,然后合并本地主分支和自己分支的代码。遇到冲突解决掉,然后提交自己分支的代码到自己的远程分支,然后在和主分支的代码进行合并。
git的使用
下载代码
git clone 地址1
拉取代码
git pull
- origin master 远程的master
切换分支
git checkout 分支
-b 不存在分支的时候创建分支
看分支状态
git branch
-a 列出所有的
提交代码
git add 文件名,支持模糊
git commit
- a
- m
推代码
git push
- origin master
新建远程分支 origin 本地分支:远程分支
新建远程版本 origin 本地版本:远程版本
-f 强制推远程
合并代码
git pull origin test 把远程的test代码直接合到本地的当前分支
git merge 本地 把本地的分支合到当前分支
看状态
有冲突
无提交
本地落后
本地超前
回滚代码
本地仅仅仅仅做的add : git reset 文件名
本地已经commit git log 找到之前的分支commit号,git reset 分支号
本地已经推远程 1先切本地对应分支2更新到最新3看日志4git reset 回滚 5 放弃更改 6 本地提交 7 强制推代码
报错提示
1.有要合并的代码(合并的冲突产生)
2.没有这个分支 (切分支到没有的分支上)
3.已经有这个分支 (切分支时创建分支,分支存在)
4.没有更改 (推的代码和远程一样,本地没有任何提交)
5.提交失败 (权限不足、文件大却使用http)
6.更改文件不显示 (git 默认不区分文件名大小写)
乌龟git的使用
1、首先选择 切换/创建分支,创建一个本地的主分支
2、然后拉取主分支的代码到本地的开发分支
3、选择显示冲突
4、逐条对应去解决冲突
5、提交自己分支到远程
6、合并远程的分支