虽然git有许多命令,但是git的日常操作只需要用到一部分,作为初学者,只要先熟练掌握满足基本需要的操作,再尝试其他的命令即可。
目录
第二个是从远程仓库pull下来,再push上去(即上文的解决办法)
本地创建仓库,并将git与远程仓库关联起来(以码云为例)
需要用到的git命令:git init ,git remove
使用git init在本机上创建一个本地仓库:
在桌面上新建一个目录GitProject

点进去目录,鼠标右键点击git bash

输入git init,按下空格提示Initialized empty......,创建成功

关联远程仓库
首先需要在码云上新建一个仓库(或者你已有的仓库也行)
创建完仓库后,点进去仓库,将你的仓库地址,也就是浏览器地址栏复制下来。
然后打开gitBash,输入git remote add origin URL 其中URL就是你的仓库地址,origin表示这是主支
(在gitbash中,选中文本就是复制,按下鼠标滑轮可实现粘贴)

同步本地仓库到远程仓库
用到的命令:git add , git commit ,git pull
首先在之前创建后的目录中添加一些文件,这里新建了两个txt文件

通过git add命令将这些新建的文件加到git的暂存区里面
git add * 表示添加该仓库下的所有文件,你也可以用git add 文件名 来添加单独的文件

提交到本地仓库

将本地仓库的内容同步到远程仓库

这里出现了错误,什么错误呢?就是码云的那个远程仓库包含有本地仓库没有的文件(码云仓库在新建时一般会有一个README.md文件)。
当然你也可以手动在远程仓库将readme.md等文件给删了,但一般是先pull下来
git pull origin master --allow-unrelated-histories
--allow-unrelated-histories是可选项,如果不加,git 会输出 refusing to merge unrelated histories 无法 pull 内容
因为我们远程和本地仓库都是分别创建的(如果本地仓库是从远程仓库clone下来的,则不用),本质上是两个独立的仓库,git会提示拒绝合并两个历史不相关的仓库。

在这之前可能会提示你,要求你输入为什么强制合并分支的理由,输入:wq退出(注意有:号)即可

这是我们再来git push

我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
在码云的仓库刷新一下,就会出现本地仓库的文件了。
当远程仓库的文件与本地仓库的文件有冲突时,该怎么解决
上面我们出现远程仓库与本地仓库不一致时,用的是从远程仓库pull下来合并到本地仓库来解决的。
但是出现这样一种情况:
当团队合作时,团队成员上传了一个新版本,而你是基于上上一个版本修改的,这时候上传到仓库时就会冲突。
第一个解决办法是强制你的版本覆盖对方的版本(不推荐)
git push -u origin master -f
第二个是从远程仓库pull下来,再push上去(即上文的解决办法)
但是由于我们之前是文件数量上的不一致,所以 pull下来就能够push上去,这次是文件内容的差异。同一个文件,内容不一样,并且修改者也不一样,那么应该以哪个为准?
这时候就需要我们手动去解决了。从远程pull下来时,本地与远程有冲突的文件就变成了以下这个格式:

<<<HEAD是指主分支修改的内容,=====是两个冲突内容的分隔符,>>>>>是指分支上修改的内容(因为我是直接在码云上修改文件的,所以这里显示一连串字符)
我们直接粗暴的手动删除保留一个版本即可

这时候再执行重新执行git add 和git commit -m即可
第三种解决方法是你新建一个分支,然后推送到远程分支里面:
在本地创建一个分支:
![]()
git checkout是切换分支,git push origin dev其中,跟在origin后面的dev你刚刚切换的分支的名字,提交上去后,远程仓库会自动创建一个同名的分支。


更详细的git教程可以查看:https://blog.youkuaiyun.com/lamfang/article/details/82865814
本文详细介绍如何使用Git进行本地仓库创建、与远程仓库关联及同步,包括解决文件冲突的方法。适合初学者快速上手。
9512

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



