git源代码管理

git源代码管理

文档连接:https://git-scm.com/docs

git是用于源代码管理,方便多人协同开发,方便版本控制

git管理源代码特点:git是分布式管理,服务器和用户端都有版本控制能力,都能进行代码的提交、合并

git操作流程
git服务器 -> 本地仓库 -> 客户端 -> 本地仓库 -> git服务器
在这里插入图片描述
在这里插入图片描述

git单人本地仓库操作

1.安装git:sudo apt-get install git
2.查看git安装结果:git
3.创建项目文件:mkdir localgit
4.进入项目文件:cd localgit
5.创建本地仓库:git init
运行之后会有个隐藏的文件.git
6.设置个人信息名字:git config user.name qiruihua
7.设置个人信息邮箱:git config user.email qiruihua@email.com
(六七两条设置的到保存在.git/config文件中)

8.创建文件:touch login.py
9.查看文件状态:git status
红的可以理解为没有在git管理下(没有在工作区)
10.加入工作区:git add login.py
git add .所有修改的文件
11.查看文件状态:git status
绿的可以理解为在git管理下(在工作区)
12.由暂存区到仓库区:git commit -m ‘备注’
备注一般用来标记该步骤的含义,实现的功能
13.查看文件状态:git status
没有任何信息
14.编辑login.py文件:vim login.py
内容自行编写
15.查看文件状态:git status
红的
新建的文件要通过git add来追踪,追踪了之后才有对应的工作区、暂存区、仓库区
追踪的文件分为工作区、暂存区、仓库区
16.由工作区转到暂存区:git add login.py
17.查看文件状态:git status
绿的
18.由暂存区到仓库区:git commit -m ‘备注’
git commit -am ‘备注’(可省略git add那步)
19.查看文件状态:git status
没有任何信息

查看提交记录:git log
回退最近一笔提交:git reset --hard HEAD^
回退两个版本HEAD^^,回退10个版本HEAD~10
显示所有版本信息:git reflog
回退到某个版本:git reset --hard id (id为git reflog查询结果的第一列)
将暂存区的代码回退到工作区(执行过add没执行commit或者都没执行情况)(代码恢复原样,未修改):git checkout login.py
撤销暂存区代码回退到工作区(执行过add没执行commit或者都没执行情况)(代码不恢复原样,进行过修改):git reset HEAD login.py

创建远程仓库(github为例)

(还有gitee也类似)

1.进入网址并登入:https://github.com/
2.进入后点击create repository
在这里插入图片描述
3.输入Repository name:仓库名
description:仓库介绍
Add .gitignore:输入python,忽略文件: 我们在写代码过程中(运行过程中)本地的一些文件,不需要提交到服务器进行代码管理
choice a liense:多人开发选择MIT license,单人开发不用选(None)
create repository:创建
在这里插入图片描述

4.将github中的代码下载到本地:

复制如下链接https://github.com/EnJoyABoy/python.git
在这里插入图片描述在虚拟机里面运行指令:git clone https://github.com/EnJoyABoy/python.git
然后在虚拟机里面对文件进行操作(修改,add,commit)(commit并没有提交到github上面)
执行commit之后,执行指令git status会提示在某分支有一笔提交,这时,本地的代码修改了,但是github中的没有被修改
要将修改的代码提交到github上,需要执行指令:git push,然后输入github的用户名和密码

更新本地代码为github上最新的代码:git pull

多人开发与冲突

代码编辑界面模拟两个人,一个是经理,一个是员工
在一个终端模拟员工操作:

将github仓库克隆下来:git clone https://github.com/EnJoyABoy/python.git
修改用户名:git config user.name 员工
修改邮箱:git config user.email 员工@email.com

在另一个终端模拟经理操作:

将github仓库克隆下来:git clone https://github.com/EnJoyABoy/python.git
修改用户名:git config user.name 经理
修改邮箱:git config user.email 经理@email.com

提交冲突
当两人同时提交的时候(一人提交后另一个人没有更新本地也提交)会发生冲突,修改之前没有更新本地代码容易引发冲突(其他人提交过,自己本地没更新)

当提交发生冲突的时候,先执行git pull
接着对发生冲突的文件进行修改(删除<<<===>>>等各行内容)

tag标签:当一个大版本完成之后,需要打一个标签,用于记录大版本,备份大版本代码,当后面开发需要回到该版本的时候,可以通过标签回到该版本
新增一个标签版本:git tag -a v1.0 -m ‘完成注册’
(-a新增,-m描述)
查看版本:git tag
提交到github中:git push origin v1.0
删除版本:git tag -d v1.0
删除github中的版本:git push --delete origin v1.0

分支操作

分支作用:比如有两个分支,一个主分支,一个副分支,我们在副分支中提交修改代码,当编写的差不多了,可以将副分支的提交提交到主分支当中,从而不影响主分支的使用

查看当前分支:git branch
创建一个分支:git checkout -b pay
创建之后自定切换到了pay分支,当前的修改提交都在pay分支中
切换到master分支:git checkout master
在pay分支中修改提交代码之后,切换回到master查看pay中修改的文件在这没有被修改
将pay分支的修改合并到master主分支中(要切换到master主分支中操作):git merge pay
删除pay分支:git branch -d pay
将本地新分支pay提交到github中:git push --set-upstream origin pay或者git push -u origin pay

SSH(安全外壳协议)

在https://github.com中点击右上角头像,点击settings
在这里插入图片描述

然后点击SSH and GPG keys,再点击New SSH key新建个SSH
在这里插入图片描述
然后再虚拟机里面去生成SSH公钥(输入自己的邮箱):ssh-keygen -t rsa -C “邮箱@email.com”
运行之后,cd .sh进入目录,里面有个id_rsa.pub文件
在这里插入图片描述

在文件夹.sh里面将id_rsa.pub文件内容复制出来,粘贴到key中,title写一个名字,然后点击Add SSH key
在这里插入图片描述
建立完成之后,到github仓库中,点击SSH复制链接
在这里插入图片描述
然后在虚拟机里面执行如下指令,将github的代码下载到本地:git clone git@github.com:EnJoyABoy/python.git

上面如果报错,先执行eval "$(ssh-agent -s)"和ssh-add

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值