git冲突怎么解决(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文件中的内容,查看冲突代码,