git安装和介绍

代码管理软件: git  svn
    git是分布式管理,服务端挂了还可以在本地做版本管理、代码合并
    svn是集成式管理,服务端挂了就挂了,只能等
    
git的安装
    git下载下来以后双击安装软件件一直下一步就行了,安装完成以后可以在cmd中输git测试,也可以通过鼠标右键查看有没有Git GUI Here和Git Bash Here

git工作流程

git可以分为三个区: 工作区、暂存区、版本库
    工作区就是存放文件的地方
    暂存区是工作区的变更提交过来的
    版本库是暂存区的内容提交到版本库

image-20230222184116353

git常用命令

1.先确定一个文件夹作为仓库
    选定一个文件夹或者创建一个文件夹,在文件夹下鼠标右键选择Git Bash Here,在弹出的执行框中键入
    git init,初始化仓库,当前文件夹下会出现一个.git文件夹,该文件夹不要动
    
2.查看文件变化
    git status
    文件名会显示几种颜色
        没有颜色:已经在版本仓库中了
        红色:工作区变化了,但是还没有提交到暂存区
        绿色:已经提交到暂存区了,但是还没有提交到版本库
        
3.工作区变更提交到暂存区
    git add 文件名  # 只提交对应名称的文件
    git add .  # 提交当前路径下所有文件
    
4.设置作者
    设置作者可以分为全局和局部,全局就是当前操作系统下的所有仓库提交版本库时都用这个作者
    局部就是只针对当前仓库
    git config --global user.email "邮箱"
    git config --global user.name "名字"
    # 带有--global 的就是全局,去掉就是局部
  
5.暂存区内容提交到版本库作为一个版本
    git commit -m '注释'  # 注释必须要写
    
6.查看版本信息
    git log
    git reflog  # 更精简
    
7.工作区的变更回退
    git checkout .  # 将增加或修改的内容变为之前的状态,只能在还没有提交到暂存区的时候
    
8.把暂存区的东西拉回到工作区中
    git reset HEAD
    
9.回到某个版本
    提交版本库以后就会被版本管理,有一个版本号,可以根据版本号回退到任意版本
    git reset --hard 版本号  # 版本号不需要写全,只需要是唯一识别就行了
    

总结:
	记住的:
    	git add  
        git commit -m
        git reset --hard 版本号
   会用:
		git init
    	git status
        git log
        git reflog
        
   了解:
		git checkout .
    	git reset HEAD
    	git config --global user.email "306334678@qq.com"
'''空文件夹不会被git记录,也就是说git不管空文件夹'''

git忽略文件

有些文件不需要被管理就需要将其设置为忽略文件
操作步骤
    1.在仓库目录下新建.gitignore  # 注意不要带后缀名
    2.往里面写忽略文件名
写在.gitignore中的就会被忽略,但是已经被管理过的不会被忽略

忽略文件写法:
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

例如:
a.txt:项目中所有a.txt文件和文件夹都会被过滤
/a.txt:项目中只有根目录下a.txt文件和文件夹会被过滤
/b/a.txt:项目中只有根目录下的b文件夹下的a.txt文件和文件夹会被过滤
*x*:名字中有一个x的都会被过滤(*代表0~n个任意字符)
空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)

git多分支

分支的作用
    可以保证主分支的版本都是可以查看的版本,开发都在分支,开发完成以后再合并进主分支
    
分支操作
    1.分支查看
        git branch
    2.分支创建
        git branch 分支名
    3.分支切换
        git chechout 分支名
    4.分支删除
        git branch -d 分支名
        
分支合并
    分支合并的时候需要弄清楚主次分支,将次分支合并进主分支先来到主分支上,然后执行合并命令
    git merge 分支名  

git远程仓库

首先需要在gitee上创建一个账号,账号创建好以后再创建仓库
操作步骤:
    1.先设置好本地仓库
    2.提交到本地版本库
    3.创建远程仓库
    4.设置用户邮箱
        git config --global user.name "用户名"
        git config --global user.email "邮箱"
    5.由于我们是已有仓库
        进入仓库所在路径
        添加远程仓库地址,名字是origin,地址是https://gitee.com/zhouyangen/luffy_vue.git
            git remote add origin https://gitee.com/zhouyangen/luffy_vue.git
        将本地版本库推送到远程仓库
            git push origin master
            第一次推送本地版本库到远程仓库时需要输入用户名密码,之后就不用输了

ssh方式连接远程仓库

ssh方式需要公钥和私钥,公钥配置在gitee上,私钥保存在本地,以后再提交代码就不需要其他认证了

操作步骤:
    1.生成公钥私钥
        ssh-keygen -t ed25519 -C "邮箱"  
        命令窗口中执行然后一路下一步,公钥私钥生成在C:\Users\zyg\.ssh
    2.公钥配置在gitee上
        gitee中选中右上角头像点击设置,在左边有一个SSH公钥设置
    3.由于之前origin对应的地址是https的,换成ssh提交代码需要将原来的https地址删除再添加成ssh的
        git remote remove origin
        git remote add origin git@gitee.com:zhouyangen/luffy_api.git

协同开发

管理员创建了仓库,对仓库有全部权限,其他人如果想看到我的代码需要管理员先将其设置为仓库的开发者
对于开发者而言本地没有代码,需要先将代码克隆下来
    git clone git@gitee.com:zhouyangen/luffy_api.git
代码克隆下来以后用pycharm打开,配置好解释器,安装好依赖
代码开发完以后需要再提交到仓库
    先提交到本地库,然后再讲本地库推到远程仓库
    

冲突解决

出现冲突可能是多人在同一分支开发,或者是合并分支出现冲突
	如果出现冲突了,首先阅读代码,其次保留或删除自己或别人写的代码(如果要删除别人写的代码记得先打声招呼),如果想少出现冲突就勤拉取代码

线上分支合并

将远程的dev合并到master中,需要提交一个pr即Pull Requests,然后审核、测试、合并
posted on 2023-04-02 20:21  zyg111  阅读(28)  评论(0)    收藏  举报