0


git最详细的操作流程

1、git介绍

1、公司里多人协同开发一个项目,需要版本管理工具:svn,git
2、git可以实现版本控制
3、git,gitee,github,gitlab
    gitee:中国的github(很多公司在用)
    github:远程仓库,全球最大的开源代码库
    gitlab:公司自己搭建的远程仓库,公司的代码放在上面

2、git工作流程

在这里插入图片描述

工作区:
    开发程序的文件夹
暂存区:
    修改后的文件临时暂存到内存中
本地版本库:
    将写好的项目放在本地版本库中保存
服务器版本库:
    将写好的项目放在服务器版本库中保存

3、git安装

https://git-scm.com/downloads
    
# 无脑下一步即可

4、基本操作

# 1、初始化仓库,让git接管你的项目
git init

# 2、查看仓库状态
git status
    -红色:新建,修改,删除,在工作区没有放到暂存区
    -绿色:放到暂存区,没有提交到版本库
    -没有东西:说明所有变更都被版本管理起来了

# 3、将当前路径下的所有变更提交到暂存区
git add .# 4、将暂存区的内容提交到版本库
git commit -m '注释'# 5、设置用户(目的在于可以在远端看到是谁提交了内容,更方便公司的管理)# 5.1、设置全局用户(在家路径下创建用户,每个项目都用这一个用户)>: git config --global user.name 'tianyanlong'>: git config --global user.email '[email protected]'# 5.2、设置局部用户(局部是指在某个项目下创建用户,可以在不同项目下创建不同用户)>: git config  user.name 'tianyanlong'>: git config  user.email '[email protected]'# 6、撤销工作区操作
git checkout .# 7、撤销暂存区操作(了解)
git reset .# 8、撤销版本库提交
git reset --hard 版本号

# 9、查看版本管理日志
git log   # 显示作者,版本号,注释
git reflog  # 显示精简信息,显示的更多(版本切换也会显示)

5、过滤文件

1 我们项目中有一些文件,文件夹,不要提交到版本库
2 在项目根路径新建:.gitignore.(win平台)3 在文件中写忽略的文件/文件夹
    -直接写文件夹名字或者/文件夹名字,表示忽略这个文件夹
    -# 表示注释-直接写文件名,表示忽略该文件
    -* 表示通配符,表示任意数量任意字符  案例:*.log  以.log结尾的都忽略
    -?表示单个字符 ?.log

6、多分支开发

多分支开发

# 1、查看分支
git branch # 绿色代表当前所在分支# 2、新建分支
git branch 分支名

# 3、切换分支
git checkout 分支名

# 4、删除分支
git branch -D 分支名 # 只有在另外一个分支下才能删除当前分支# 5、合并分支(子分支合并到主分支)
git branch master # 先切换到主分支
git merge dev # 再将子分支合并到主分支

7、gitee创建仓库流程

7.1、流程

流程图1

流程图2

新建完了之后页面是这样的

在这里插入图片描述

7.2、远程仓库

-gitee,github,gitlab
-remote源操作(远程仓库)
    -查看远程仓库:git remote
    -添加远程仓库(远程仓库的名字origin):git remote add origin https://gitee.com/liuqingzheng/test.git
    
-git项目创始者和开发者
-采用ssh协议连接远程源
-提交本地代码到远程仓库

git flow:git 工作流,人为设定的一个标准,多条分支,分别有不同的用途

7.3、remote源操作

-查看远程仓库:
git remote
-添加远程仓库(远程仓库的名字origin):
git remote add 远程仓库名字 仓库地址
git remote add origin https://gitee.com/liuqingzheng/test.git
  
-删除远程仓库
git remote remove origin

8、项目创始者和开发者的操作

8.1、创始者的操作

1 没有项目纯空的
    mkdir test
    cd test
    git init
    touch README.md
    git add README.md
    git commit -m "first commit"
    git remote add origin https://gitee.com/liuqingzheng/test.git
    git push -u origin master
2 项目已经存在,在本地以及操作了(git_test)
    cd git_test
    git remote add origin [email protected]:tian-yanlong/logistics_api.git
    git push -u origin "master"# 本地代码推送到远程#    推送 远程仓库名 主分支3 提交的时候需要输入gitee的用户名和密码
4 提交成功以后,在远程仓库能看到版本变更记录

8.2、开发者的操作

# 因为是开源的所有人都可以克隆
git clone https://gitee.com/liuqingzheng/test.git
# 修改改代码
    git add .
    git commit -m
    git remote 配置远程仓库(我现在不用配,同一台机器已经配置过了)
    git push origin master
# 在提交代码之前,要先更新
    git pull origin master

9、pycharm操作git

9.1、git init

让git管理项目,本质是在项目根目录下创建了.git文件夹
git init

9.2、git add .

将工作区的内容放到暂存区中
git add .

9.3、git commit -m 注释

将暂存区的内容存放到本地版本库中
git commit -m

9.4、git remote add origin url

添加了远程仓库之后,才能把本地版本库中的内容上传到服务器端版本库中
在这里插入图片描述

9.5、git push origin master

将本地版本库中的内容上传到服务器端版本库中
在这里插入图片描述

9.6、git pull origin master

将服务器端版本库中最新内容同步到本地
在这里插入图片描述

9.7、git clone url

从gitee中下载别人的代码
在这里插入图片描述

10、采用ssh协议连接远程源(公司一般用这种)

10.1、简介

1 使用https操作的,第一次提交的时候,输入用户名密码
2 企业里通常使用ssh
    -公钥:配置在gitee
    -私钥:留在你本地

10.2、生成公钥和私钥

在git bash here 下,位置无所谓执行
ssh-keygen -t rsa -C "[email protected]"-会在  C:\Users\tianyanlong\.ssh文件夹下生成公钥私钥
-公钥给别人,私钥不能泄露(非对称加密:对称加密)
    非对称加密:加密用公钥,解密用私钥
    对称加密:加密和解密用同样的密码

10.3、在gitee上添加公钥

先打开设置,然后再按图操作

在这里插入图片描述

10.4、把remote源改成ssh

在这里插入图片描述

11、协同开发

1 多人开发同一个项目
2 现在你们git clone 项目,在你本地了
3 可以改代码了,当你git  push 的时候,提交不了
4 项目管理员分配给你权限(gitee中管理--》仓库成员--》邀请成员)
5 这一个项目有一个管理员,若干开发者
6 重点:不能跨版本提交,只能先拉到最新,再提交
7 如果某个开发者再s1.py 的第14行加入了东西,我也加入了,他先提交(它没问题)
8 当我再拉取,出冲突了
    <<<<<<< HEAD
    你的代码
    =======
    同事的代码
    >>>>>>> d78b8fb39f6469e810868218a052bc3174b3e1fc

9 解决冲突
    -留你的代码:你写的好
    -留他的代码:你觉得他写的好
    -你们的都留着:你俩虽然改了一行,但是功能不一样

12、分支合并

12.1、线上分支合并

1 在线上新建一个dev1分支
2 拉去到本地
3 在本地dev1分支增加一行代码,提交到版本库
4 在本地dev1分支又增加一行代码,提交到版本库
5 远程分支合并
    -pull request,指定从哪个分支合并到哪个分支
    -绿色表示没有冲突,可以正常合并
    -普通和扁平化(变基)
6 本地、远程的dev1和master就完全一样了

12.2、线下分支合并

1 本地dev1分支新增代码,提交到版本库
2 本地dev1分支合并到master
    -切到master
    -git merge dev1  (没有冲突直接合并)-git push origin master (本地master提交到远端master)3 切到dev1分支,再提交到远端
4 到此,本地分支合并完成,远端的dev1跟master完全一样,本地的dev1跟master也完全一样

12.3、合并分支冲突解决

1 再master加一行,提交到版本库
2 再dev1同样尾增增加一行,提交到版本库
3 把dev1合并到master,就会出冲突
    -切到master分支
    -git merge dev1  有冲突
    -解决冲突(到底留什么,你觉得)
    -提交到远端

13、远程仓库回滚

1 远程仓库,回到最初路飞第一次提交的地方
2 再本地回复到第一次提交
    git reset --hard 59dbf80c
    git push origin master -f # 强制提交3 切记 -f 清醒的时候使用

14、其他了解

git flow
    -是一种建分支的方案
    -预览分支,开发分支,bug分支,主分支,测试分支...
pull和fetch区别
    git pull:拉代码+合并
    git fetch:拉代码,需要手动合进去
变基rebase
    -合并分支的时候,是否保留之前分支的日志
    
    
git客户端:
    -官方下载的一个(命令行下)
    -pycharm编辑器
    -sourcetree:美观,分支通过不同颜色显示,看着好看
标签: git github

本文转载自: https://blog.csdn.net/weixin_45620619/article/details/124618872
版权归原作者 龍大大少 所有, 如有侵权,请联系我们删除。

“git最详细的操作流程”的评论:

还没有评论