git的常规流程

git 分布式
每一个客户端都可以形成自己的仓库,都可以形成自己的历史版本

git的常规流程

在这里插入图片描述

1.每一个git仓库都有三个区:
   工作区:开发代码
   暂存区:临时存放每一次修改的代码,但是并没有生成历史版本。
   历史区:存放所有历史版本的地方(提交到历史区就会生成历史版本)
2.  把暂存区的某一文件删除(提交到暂存区的内容不好,我们可以删除)
 git rm --cached  xxx.xx  把暂存区的某一个文件删除
 git rm --cached . -r   删除暂存区中所有提交的
 如果在删除过程中,发现从暂存区删除的文件,在工作区已经被修改好了,只有加上 -f 才能强制从暂存区把内容删除掉。

3.git回滚:提交到暂存区一份,把工作区内容改了,但是改的东西不好,想把暂存区上次提交的内容撤回到工作区(覆盖工作区新写的内容)  用 git checkout xxx.js (.) (xxx.js要覆盖的文件夹名,. 表示把工作区所有与暂存区不一样的都覆盖掉)  暂存区内容没有消失,只是把工作区最新修改的内容
git checkout xxx.js 
==========================================================================
4.如果是第一次使用git,生成历史版本的时候,需要提供身份认证
只需要在本地git全局环境下配置一些信息即可
git config -l 
git config --global user.name "xxx"
git config --global user.email "xxx"

5.真实项目中不是所有的文件都要要提交(如 node_modules)
   .gitignore ===> git提交的忽略文件
6. git log 查看提交纪录,查看历史版本,有一个历史版本号
7. git refog 查看所有的历史纪录(包括历史区回滚后)
8.git回滚:
  git checkout . 把暂存区内容回滚到工作区(一旦回滚,工作区内容无法恢复)
  git reset --hard 版本号 强制从历史区中把工作区和暂存区回退到指定版本的某一版本
  git reset HEAD . 把当前暂存区的内容删掉,目的是为了把上一个暂存区的内容回滚到工作区。把最近暂存区中的内容删除掉 ,然后 git checkout .把上一个暂存区内容撤回到工作区。
===========================================================================
多人团队协作开发git操作流程
1.基础操作流程
1)首先创建中央仓库:可以基于github/codding来创建
   把开发者都列入仓库的开发群主中,这样每一个开发者用自己的gitHub账号,都有权限操作这个仓库了(当然不这样做也可以,所有开发者用统一的一个账号也可以,为了防止不知道是谁提交得,我们需要让每一个客户端在本地的git全局配置中,设置和gitHub相同得用户名和邮箱 git config --globle user.name "xxx" ... )
2) 创建客户端本地仓库(一个开发者就是一个单独仓库),还需要本地得仓库和远程的仓库保持关联,这样才可以实现后续得信息同步。
    git init ==>创建本地仓库
    git remote add origin "远程仓库git地址" ==>让本地仓库和远程仓库保持连接
    git remote -v  ==> 查看连接信息
    git remote rm origin  ==>移除本地仓库和远程仓库的连接
    git remote update origin ==>更新连接通道
    
有更简单的方式:git clone "远程仓库地址" "本地仓库文件夹名字(不写默认是仓库名字)"
只要把远程仓库克隆到本地,就相当于创建本地仓库,而且自动建立了连接,并且把远程仓库中的内容也同步到了本地  

3)各自和中央服务器同步信息
推送:git push origin master (每一次push之前最好都pull一下,如果有冲突在本地处理一下,然后在推送)
拉取:git pull origin master 


在这里插入图片描述
团队协作开发 git 模式
在这里插入图片描述

多人团队协作开发git操作流程
1.基础操作流程
1)首先创建中央仓库:可以基于github/codding来创建 (最好不要创建空仓库,因为仓库中没有任何分支,只有提交一尺历史信息才会生成master分支)
   把开发者都列入仓库的开发群主中,这样每一个开发者用自己的gitHub账号,都有权限操作这个仓库了(当然不这样做也可以,所有开发者用统一的一个账号也可以,为了防止不知道是谁提交得,我们需要让每一个客户端在本地的git全局配置中,设置和gitHub相同得用户名和邮箱 git config --globle user.name "xxx" ... )
2) 创建客户端本地仓库(一个开发者就是一个单独仓库),还需要本地得仓库和远程的仓库保持关联,这样才可以实现后续得信息同步。
    git init ==>创建本地仓库
    git remote add origin "远程仓库git地址" ==>让本地仓库和远程仓库保持连接
    git remote -v  ==> 查看连接信息
    git remote rm origin  ==>移除本地仓库和远程仓库的连接
    git remote update origin ==>更新连接通道
    
有更简单的方式:git clone "远程仓库地址" "本地仓库文件夹名字(不写默认是仓库名字)"
只要把远程仓库克隆到本地,就相当于创建本地仓库,而且自动建立了连接,并且把远程仓库中的内容也同步到了本地  

3)各自和中央服务器同步信息
推送:git push origin master (每一次push之前最好都pull一下,如果有冲突在本地处理一下,然后在推送)
拉取:git pull origin master 
    备注:任何一个仓库的分支都是你生成一个历史版本纪录之后才有分支,刚创建是没有分支的

中央仓库没有master分支。B在pull的时候会报错,原因B的master分支与中央仓库不是同一个分支master分支。。。
在这里插入图片描述
创建中央仓库的时候创建自己的master分支。
在这里插入图片描述

代码冲突:
同一行代码冲突:esc :wq (然后按下回车件即可) 然后提交
不是同一行代码冲突:需要手动在编辑器里面把代码进行合并,决定保留哪一部分,或者都保留下来。















发布了9 篇原创文章 · 获赞 0 · 访问量 633

猜你喜欢

转载自blog.csdn.net/qq_45284875/article/details/104223249