![](https://img.haomeiwen.com/i10763884/a72549a0a7022395.png)
简单的代码提交流程
- git status 查看工作区代码相对于暂存区的差别
- git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
- git commit -m ‘注释’ 将缓存区内容添加到本地仓库
- git pull origin master先将远程仓库master中的信息同步到本地仓库master中
- git push origin master 将本地版本库推送到远程服务器,
origin是远程主机,master表示是远程服务器上的master分支,分支名是可以修改的
每一个GIT仓库都有三个区:
工作区:写代码
暂存区:临时存放每一次修改的代码,但是并没有生成历史版本
历史区:存放所有历史版本的地方(提交到历史区就会生成历史版本)
git:工作区==>暂存区==>历史区
git 和 svn 的对比
- SVN: 集中式; 有一个中央服务器;用来存储所有的成员的代码;
- git : 分布式: 每个成员都是一个服务器,也有中央服务器;如果想把本地代码提交到中央服务器,需要先把代码提交到本地的服务器;
SVN :
- svn必须需要网络才可以把代码上传到中央服务器
- svn 上传的是文件;
git :
- git不需要网络,把代码上传到服务器;
- git上传的是数据码;相对于svn更快;
GIT常用命令
- $ git init
==>创建本地仓库 - $ git add .
==>将本地代码提交到暂存区 - $ git commit -m''
==>将暂存区里的改动给提交到本地的版本库 - $ git status
==> 查看当前仓库文件的状态 - $ git log [length]
==>指定显示[length]条日志,查看历史版本信息 - $ git checkout .
==>切换分支 - $ git reset --hard 版本号
==>把历史区之前的版本拉取到工作区
git的使用
- 创建本地仓库,并与远程仓库进行关联
创建客户端本地仓库(一个开发者就是一个单独仓库),
还需要让本地的仓库和远程仓库保持关联,这样才可以实现后续的信息同步
$ git init =>创建本地仓库
$ git remote add origin “远程仓库GIT地址” =>让本地仓库和远程仓库保持连接
$ git remote -v =>查看连接信息(origin是连接的名称,一般都用这个名字,当然自己可以随便设置)
$ git remote rm origin =>移除本地仓库和远程仓库的链接
$ git remote update origin =>更新链接通道
有更简单的方式:
只要把远程仓库克隆到本地,就相当于创建本地仓库,
而且自动建立了链接,并且把远程仓库中的内容也同步到了本地
$ git clone “远程仓库地址” “本地仓库文件夹名字(不写默认是仓库名字)”
- 各自和中央服务器同步信息
推送:$ git push origin master
(每一次PUSH之前最好都PULL一下:如果有冲突在本地处理一下冲突,然后再推送)
拉取:$ git pull origin master
- 如果有冲突:
1.进入到了编辑框模式,i->ESC->:wq 即可
2.自己会把两份代码都保存在本地文件中,自己手动去选择要哪一个,改完后重新提交即可
- 分支
git checkout -b xxx 创建分支并且切换到指定分支下
(可以把本地master中的历史信息同步到新创建的分支中)
git branch 查看当前仓库所有的分支,并且查看当前在哪个分支上
git branch xxx 创建一个分支叫xxx
git checkout xxx 切换分支到xxx
git branch -D xxx 删除分支xxx
git merge xxx 把xxx分支的历史信息合并到当前分支下
$ git stash / $ git stash pop 在切换分支的时候,有一部分信息并没有提交成为历史版本,
为了防止信息的丢失,我们需要先使用stash保存,然后在基于stash pop还原
注意:
// 在分支上改代码,不会影响到主干上的代码;
// 如果需要创建分支,必须在master上线提交到历史区;
// 在主干上去合并分支上的代码;
网友评论