git冲突怎么解决(git代码冲突怎么解决)
git基本操作
(参考:https://blog.csdn.net/beiqiaofeng123/article/details/104859326)
git config --global user.name [username]git config --global user.email [email.address]
如果需要管理本地工程,切换到项目的根目录下,
git init
添加需要上传的文件到暂存区
git add fileName (单个文件)git add dir (dir文件夹下所有文件,包括子目录)git add . (添加当前目录下的所有文件到暂存区)
提交文件到本地仓库
git commit -m "init commit"
将本地仓库与远程仓库连接
git remote add origin https://github.com/username/仓库名.git
将文件推送到远程仓库
git push -u origin master
github基本操作git init
将这个文件夹变成git可以管理的仓库
git remote add origin https://github.com/lays03/testgit.git
本地和远程仓库关联
git add 文件名
将文件添加到暂存区
git push -u origin master
push到远程仓库
git commit -m "提交的注释"
将文件提交到仓库
git checkout -b dev
创建并切换分支
git status
查看是否还有文件没有提交
git branch
查看当前的分支
git diff 文件名
查看文件修改了什么内容
git checkout 分支名
切换到相应分支
git log
显示最近的操作/显示分支合并情况
git merge 分支名
将分支合并到主分支上
git reset --hard HEAD^
回退到文件的上一个版本,如果想回退到上n个版本,在HEAD后加上n个^即可
git branch -d 分支名
删除分支
git reflog
显示每一次操作的详情及版本号
git reset --hard 版本号
回到对应版本号的版本
git checkout -- file
丢弃工作区的修改
下面介绍git多人协作以及冲突解决的问题
简要介绍首先说一下git多人协作以及冲突解决的问题
模拟的场景:两个人需要对github上的同一个文件进行操作,这里用一台电脑的两个窗口来模拟。操作对象:readme.txt
事先将github仓库里面的内容clone到本地,并且建好分支dev,因为我们一般不在master分支上直接操作。
git多人协作 and 冲突解决步骤一(在第一个窗口中操作):进入分支dev,在dev下修改readme.txt文件的内容,并将dev分支push到远程仓库
git add readme.txtgit commit -m "注释(根据自己的需要来写)"git push origin dev
步骤二(在第二个窗口中操作):进入第二个窗口,模拟第二个人。从github仓库里面获取内容,并将远程仓库dev分支(步骤一中我们操作的那个分支)下的内容pull到本地dev分支上
git clone https://github.com/username/仓库名.gitgit checkout -b dev origin/dev
步骤三(在第二个窗口中操作):修改文件内容,增加“2222”内容。并且将修改后的文件添加到暂存区,并且push到远程仓库
git add readme.txtgit commit -m "2222"git push origin dev
回到第一个窗口,模拟第一个人。修改文件内容,增加“3333”。同样将修改后的文件添加到暂存区,并且push到远程仓库
(命令和步骤三中的一样)
可以看到报错了,原因是已经有别人对远程仓库进行了更新,导致我们第一个人现在操作的对象的版本不是最新的,因为需要重新获取远程仓库里面的内容。
步骤五(在第一个窗口中操作):使用git pull,重新获取远程仓库里面的内容。可以看到显示冲突
git pull
步骤六(在第一个窗口中操作):查看readme.txt文件中的内容,查看冲突代码,