git的一些基本操作(上)

93 阅读2分钟

这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战

之前的时候对于git的操作基本就了解在于pull,push,commit上面,感觉只有这些比较常见,顶多再就是切个分支,合个分支,或者再回退个版本.都是一些比较常见的操作,偶尔一些不常见的,也只需要用的时候去搜一下就行了.但是最近因为工作的需要,发现其实还有很多需要掌握的其他功能.尤其是关于代码合并这一块的,所以在这里总结一下.

基础的pull\push\commit操作

pull:这个是远程仓库拉取数据到本地仓库,就是为了和远程仓库所匹配

git pull

commit:当我们想要把自己的代码想要提交到远程的时候,所用的命令行语句,由于我们修改所在的区域在暂存区

我们首先要把自己的代码commit(提交)到本地仓库,然后在从本地仓库push到远程仓库,但是切记住一点,我们如

果每一次在commit的时候,我们都需要先从线上pull最新的代码到本地仓库,然后在把暂存区里面的代码提交到本地

仓库,这个时候如果没有冲突固然是最好的,如果有了冲突,这我需要解决冲突,这个此时本地仓库已经是最新的代码

且又包括暂存区上面的代码了

git commit -m [message]

push:这个就是我们前面把代码提交到了本地,如果我们需要提交到远程服务器上,则需要把代码push到远程的分支里

面,如果有了冲突,再解决就好了

git push

如何合并两个仓库

假设现在有两个repo:repo1,repo2,每个repo中都已经有一堆提交记录了,现在想把repo2中的记录合并到repo1中,命令如下:

cd repo1 
git remote add other ../repo2 
git fetch other 
git checkout -b repo2 other/master 
git checkout master 
git merge repo2

解释:

进入repo1文件夹 
添加repo2作为repo1的远程仓库,并命名为other 
将repo2的内容获取到repo1 
注意,使用fetch而不是pull,关于fetch和pull的区别请戳这里

在repo1中创建名为repo2的新分支,同时切换到该分支,并且使用上一步获取的内容中的master分支的内容 
切换到repo1的master分支 
将repo2分支的内容合并到master分支