一 , 自己在码云新建一个仓库
二 , 点击创建之后 , 点一下初始化readme文件
三 , 仓库默认只有master一个分支,里面有刚才初始化的两个文件,点击分支 1可以看到详情
四 , 回到桌面新建一个文件夹 , 里面新建一个a.txt (不能是空文件夹 , 会报错)
打开文件夹 , 右键点 git bash here
git init (初始化仓库)
git add . (添加本次所有改动到本地暂存区)
git commit -m "本次提交代码描述" (将暂存区里的改动提交到本地仓库)
git remote add origin 远程仓库地址 (添加远程仓库)
git push -u origin master ( 远程仓库已有master分支, 但还没跟本地关联)
一顿操作下来居然报错了 , 读一下黄色文字第一行和第二行 , 翻译 : 更新被拒绝因为远程仓库有一些文件你本地没有
是的 , 远程仓库master分支上是有两个初始化文本的 , 我本地没有
(如果新建仓库的时候没有新增初始化文件 , 按上面步骤就直接成功了,不会有后面那两个报错,这里为了演示怎么解决这两个报错)
所以要先git pull远程仓库的最新代码到本地 , 再git push, 一定要记得!! 后面每次提交代码之前也是要先git pull , 再git push
git pull origin 远程分支名 (将远程分支 拉到 本地当前分支)
又报错了 ? 读一下最后一行 : 拒绝合并不相关的历史
意思是现在本地仓库和远程仓库是两个独立没关系的仓库 , 不能直接 pull到本地 , 后面加一个--allow-unrelated-histories 就可以了
按完回车会出现这个页面, 不用管 , 直接关掉cmd , 因为这时候远程仓库那两个文件已经拉到本地了
git remote -v (查看远程仓库地址)
最后 ,git push -u origin master , 刷新远程仓库 , 提交成功 , 后面再推送就直接 git push就行了,因为远程的master分支已经和本地关联了
五 , 在本地新建一个分支用于开发
git branch (查看本地分支)
git branch --all (查看本地和远程分支)
可以看到现在我本地只有master一个主分支, 我更改代码都是在这个主分支上
但是一般最好都是本地另建一个分支,开发好一定的代码,再合并提交到master,最后再推送到远程仓库
接下来实现在本地新建一个dev分支,修改内容后提交合并到master,然后提交到远程仓库的master
git checkout -b 分支名(创建新分支并切换到这个分支)
看到显示*dev , *表示现在正在的分支 , 括号里写的dev也表示现在正在dev分支
我现在在dev分支上 , 新增了一个1.png图片
提交更改到本地dev分支
git checkout 分支名 (切换分支)
切换到master分支 , 可以看到没有那张图片
当你在自己的dev分支把代码写完之后 , 怎么合并到master分支呢
要把dev分支的代码合并到master分支, 先切换到master主分支
git checkout master (切换到master分支)
git merge dev (把dev分支的代码合并到master分支)
这时候可以看到master分支上也有了那张图片
当你要把远程仓库最新的代码拉到本地时 , 怎么办呢 ?
先切换到主分支 git checkout master ,
再 git pull ,
再切换到dev分支 git checkout dev ,
合并master分支上的最新代码 , git merge master ,
这样本地两个分支的代码都是最新的了