0


git的使用

git安装和介绍

当软件开发一个功能后,我们需要把代码提交到某个位置,让大家都能拿到,以便于完成协同开发项目,帮助程序员整合代码

目的:

帮助开发者合并开发代码

如果出现冲突代码的合并,会提示会提交合并代码的开发者让其解决冲突

软件:SVN ,GIT

git 的下载

Git - Downloads

windows下载:Git-2.43.0-64-bit.exe 下载,一路下一步安装即可

安装完成后:点击右键,多出两个命令

git bash here

git gui here

打开命令行:git-v

git使用流程

git有三个区

工作区:某个文件夹,在文件夹新增修改删除 更新文件 用户操作的位置

暂存区:工作区的变更----》提交到暂存区

版本库:班暂存区内容---》提交到版本库=---》文件就被版本管理了---》回退到某个版本

远程仓库:第三方:github,gitee,gitlab

工作流程:三个区的来回操作

常用命令:

1.初始化仓库:git init 创建出一个 .git 文件夹,这个文件夹我们不能删除,如果删除仓库记录就没有了

2.查看仓库状态

git status

3.在工作区新建s1.py,加入一行代码

4.把变更提交到暂存区

git add 文件名字

git add .

5.把暂存区提交到版本库

git commit -m '注释,必须加'

6.查看版本记录

git log

git reflog

6.git chcekout . 把工作区变更回退,还没有放到暂存区

7.git reset --soft 版本号 唯一表示,可以不写全,短一些

git reset --mix 版本号 把版本库拉回到工作区

git常用命令

# 1 初始化仓库  ---仓库目录下会出现 .git 文件夹--》文件夹千万不要删除
git init   # 初始化当前文件夹
git init 文件夹 # 在当前文件夹下创建文件夹,并把新创建的文件夹作为仓库
# 2 查看仓库状态
git status 
git status -s  #查看仓库状态的简约显示
# 红色:工作区有变更,但是没有提交到暂存区  
# 绿色:工作区变更提交到暂存区,但是没有提交到版本库---》还没有被版本管理起来
# 白色:所有变更都被版本管理了

# 3 把工作区变更提交到暂存区
git add 文件名 文件夹
git add .  # 所有变更

# 4 把暂存区提交到版本库
git commit -m '注释'    # 只要提交一次,就会有个版本号,以后根据版本号我们可以回退到任意版本

# 5 设置用户名和邮箱--》一般写在git init之后,只设置一次
    # 全局设置
    git config --global user.name '用户名'
    git config --global user.email '用户邮箱'
    # 局部设置:
    git config user.name 'xxx'
    git config user.email '[email protected]'
    
    
# 6 查看版本日志  
    git log   # 能看到用户:lqz <[email protected]>
    git reflog
    
   

----------了解-------------
# 7 撤销工作区变更
 git checkout .
    -- 撤销所有暂存区的提交
git checkout 文件名
    -- 撤销某一文件的暂存区提交

# 8 撤销暂存区提交:add的逆运算
    >: git reset HEAD .
        -- 撤销所有暂存区的提交
    >: git reset 文件名
        -- 撤销某一文件的暂存区提交
        
# 9 git log 更多
  查看时间点之前|之后的日志:
        >: git log --after 2018-6-1
        >: git log --before 2018-6-1
        >: git reflog --after 2018-6-1
        >: git reflog --before 2018-6-1
    查看指定开发者日志
        >: git log --author author_name
        >: git reflog --author author_name
# 10 回滚到指定版本:
        回滚到上一个版本:
            >: git reset --hard HEAD^
            >: git reset --hard HEAD~
        回滚到上三个版本:
            >: git reset --hard HEAD^^^
            >: git reset --hard HEAD~3
        回滚到指定版本号的版本:
            >: git reset --hard 版本号 (重点)
            >: eg: git reset --hard 35cb292

git log 与git reflog区别

# git log
commit 7884b345a03ec8a1dfae5976d3e1c4ec55a2f785 (HEAD -> master) #  版本号
Author: xxx <[email protected]>  # 作者
Date:   Mon Jan 22 12:29:13 2024 +0800 # 日期
    xxx              # 注释
# 如果做了代码回撤---》这里的日志看不到,就通过git reflog来查看

git忽略文件

在仓库中,某些文件或文件夹,不期待被git管理,不被版本管理

我们可以在仓库目录下新建一个文件:.gitignore 在该文件中注明哪些不被git管理,标明语法如下

""" 过滤文件内容
文件或文件夹名:代表所有目录下的同名文件或文件夹都被过滤
/文件或文件夹名:代表仓库根目录下的文件或文件夹被过滤

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

注意:
# 以'#'开始的行,被视为注释.                                                                                                                          
# 忽略掉所有文件名是 lqz.txt的文件.
    lqz.txt
# 忽略所有生成的 html文件,
*.html
# lqz.html是例外,不在忽略范围内
!lqz.html
# 忽略所有.o和 .a文件.
*.[oa]

"""

git 多分支

以后我们在创建分支之前需要先保证所有的文件都被git管理起来

创建分支步骤

1.创建分支

git branch dev 创建一个dev分支

2.查看分支

git branch

3.切换分支

git checkout dev 切换到dev分支

4.删除分支(不能自己删自己)

git branch -d dev

5.合并分支

切换到master上

git merge dev 把dev合并到当前分支

远程仓库命令

1.查看仓库已配置的远程源

git remote

git remote -v

2.查看remote命令帮助文档

git remote -h

3.删除远程源

git remote remove 源名

eg: git remote remove origin

4.添加远程源

git remote add 源名 源地址

git remote add orgin https://gitee.com/liuqingzheng/app01.git

5.提交代码到远程源

git push 源名 分支名

6.克隆远程源

git clone 远程源地址

7.从远程仓库拉取代码

git pull 源名 分支名

使用ssh链接远程仓库

之前添加远程仓库,地址是http开头的,使用的是http链接远程仓库,需要输入用户名和密码才会被操作系统记录在本地

ssh链接采用的是公钥私钥的方式,在本地机器保留私钥,远程仓库配置公钥

如何生成私钥公钥

生成/添加 SSH 公钥 | Gitee 产品文档

操作步骤

1.在cmd/git bash here 命令窗口执行

ssh-keygen -t ed25519 -C"邮箱地址"

2.在操作系统用户----家路径---》.ssh文件夹---》公钥私钥

    id_ed25519.pub # 公钥--》给别人
     id_ed25519 # 私钥---》自己留着

3.在gitee上配置公钥

https://gitee.com/profile/sshkeys

ssh -T git@gitee.com # 输入yes

4.以后可以免密操作

5.增加一个远程仓库地址,指定是ssh链接

git remote add origin git@gitee.com:liuqingzheng/lqz2.git

6。把代码推送到远端

git push origin master

协同开发

本地代码推送到远程仓库--->你是项目创建者

# 远程仓库不为空的操作步骤
    -1 远端创建一个不为空的仓库
    -2 在本地拉取
    git clone [email protected]:liuqingzheng/luffy_api.git
    -3 在拉取的仓库中加代码(我们直接复制过来的)
    -4 写好忽略文件
    -5 git add .
    -6 git commie -m '我的第一次'
    -7 git push origin master
    
    -8 以后都开发当时拉下来这个文件夹
#####注意:#####
    如果某个文件或文件夹已经被版本管理了,后期再设置忽略,就无效了
    -如何让它再被忽略呢?
        -把这个文件删除后,以后就被忽略了

本地拉取代码--》你是项目参与者

# 1 git clone 到本地---
    -有代码,项目也能运行
    -git clone [email protected]:liuqingzheng/luffy_api.git
# 2 使用pycharm打开项目

# 3 本地运行项目(选解释器-创建虚拟环境-根据 requirements.txt 安装依赖---本地数据库链接配置好)
    mkvirtualenv -p python38 luffy001
    pip install -r requirements.txt
# 4 开发代码,本地提交--》推到远端

线上分支合并

#### 远程创建分支,拉取到本地####
    -远程创建分支,拉取到本地
        -点点点创建
    -在本地执行:
        git pull origin  # 拉下来,但是看不到,只有切进去才能看到
        git checkout bug
        
###### 本地创建,推送到远端#####
    -本地创建分支
        git branch dev
        git checkout dev # 切到dev分支
        git push origin dev # 把本地当前分支,推动到远端dev分支
        

        
        
### 线上分支合并
    -在本地dev分支加入xx.py 加入 一句话
    -推送到远端 dev分支
    -在远端 把dev合并进master
    
    
# 你提合并请求---》你领导审核代码---》同一---》你才合进来

    
 ####  commit 的时候,单引号和双引号有区别#####
标签: git

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

“git的使用”的评论:

还没有评论