git最详细的操作流程分析_git查看详情

git最详细的操作流程分析_git查看详情1、git介绍1、公司里多人协同开发一个项目,需要版本管理工具:svn,git2、git可以实现版本控制3、git,gitee,github,gitlab gitee:中国的github(很多公

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 'tianyanlong2000@163.com'
# 5.2、设置局部用户(局部是指在某个项目下创建用户,可以在不同项目下创建不同用户)
    	>: git config  user.name 'tianyanlong'
		>: git config  user.email 'tianyanlong2000@163.com'
            
# 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 git@gitee.com: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 "tianyanlong2000@163.com" 
-会在  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最详细的操作流程分析_git查看详情分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65672.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注