上边所说的仓库是本地仓库
多人之间需要共享代码、合并代码,此时就需要一个远程仓库。
常用的远程仓库有github和码云
三、分支
分支是一个个版本最终存储的位置
命令:git branch
仓库中默认只有 master分支,当我们执行 git commit时,默认是在 master分支上保存版本。
在商业项目开发过程中,我们不会轻易的在master分支上做操作。我们会新建一个开发用的分支,在此分支上做版本的记录。当代码确实没有问题时,才会将开发分支上成熟的代码版本添加到 master分支上。既保证开发过程中,可以及时记录版本,又保证 master分支上每个提交点都是稳健版本。
命令:git branch 分支名
上图中可以看到我们又两个分支,一个master,一个dev。注意:master是绿色的且左边有个*号,这表示的是master是当前的有效分支,如果我们使用命令git commit提交一个版本会提交到当前的有效分支master上。
我们可以切换到指定的分支,则后续的 git commit便会在指定分支上新建版本提交点
命令:git checkout 分支名
多分支的走向:在master分支和新分支分别进行git add 和 git commit 时,分支情况如下图
命令:git log --oneline
命令:git log
命令:git merge 分支名
作用:将指定分支名的分支与当前分支合并
拓展:git log --oneline --graph 此命令可以查看分支合并的走势图
图解:
图解:
两个分支进行合并,但它们都有对同一个文件的修改,则在合并时会出现冲突,git无法决断该保留改该件哪个分支的修改。
冲突的解决:
git会在发生冲突的文件中,将两个分支的内容合并到该文件中。我们只需要打开该文件,解决冲突后,重新add,然后commit提交即可。
作用:初始化一个空的git仓库
在文件夹中会生成一个.git文件,如下图:
作用:查看文件,文件夹在工作区和暂存区的状态
补充:截图哪里突然文字没了,这里补充一下:黄色框中Untracked files 是未跟踪文件的意思,什么是未跟踪文件呢?就是git没有提交到暂存区或分支中的文件。
作用:将指定文件名的文件从工作区加入到暂存区。
拓展: git add . 一次性将工作区中的所有文件添加到暂存区中。(注意add后边有个“.”)
add之后,在通过git status查看,文件会从红色(未跟踪状态)变成绿色(待提交状态)。
作用:将暂存区的文件存入分支,形成一个版本
此时再通过git status 查看文件在工作区中的状态
可以看到此时提示没有东西可提交,工作区已清理干净。
注意:要先关联远程仓库才能够将本地仓库的内容push到远程仓库中
原文:https://www.cnblogs.com/bear7/p/13574757.html