• Git学习


    1、Git是什么

     Git(分布式版本控制系统)是一款用于控制代码版本的工具,便于开发人员更好地去管理代码和协同开发。

    2、Git的构成

    • 工作区:用于存放编写的代码。
    • 暂存区:用于存储每个时间顶点的代码。
    • 本地仓库:用于存储每个时间段的代码。

    3、Git常用命令(增删改查)

    3.0 环境配置

    • 需要配置用户名和用户邮箱,用于提交代码时,可以知道是谁提交的。
    # 查看当前的配置信息
    git config list
    
    # 设置用户信息
    git config --global user.name "BaiYun"
    git config --global user.email "baiyun_it@163.com"
    

    3.1 初始化工作区

    git init
    

    3.2 查看文件的状态(查)

    git status
    

    3.3 添加到暂存区(增)

    git add 指定文件名
    eg:git add HelloGit.java
    
    git add .      // 添加当前目录下的所有文件到暂存区
    

    3.4 添加到本地仓库(增)

    git commit -m '对内容进行描述'
    eg:git commit -m 'Add HelloGit'
    

    3.5 add和commit合起来使用(增)

    • 使用以下命令,即可以同时完成添加到暂存区和添加到本地仓库操作。
    git commit -am '对内容进行描述'
    
    • 注意:第一次时,需要使用git add '文件名'添加到暂存区;在后面对该文件进行更改时,才可以使用git commit -am进行添加。

    3.6 查看历史版本(查)

    git log 或 git reflog
    

    3.7 回退到指定版本(改)

    git reset --hard 指定版本号
    

    3.8 忽略指定文件推送到仓库

    • 需要对某一些文件进行忽略管理时,可以创建.gitignore文件(文件名固定),在里面添加需要被忽略的文件类型即可。一般需要被忽略的文件有:日志文件.class临时文件等
    # 所有以.class结尾的文件都会被git忽略
    *.class
    
    # !取反,不会被忽略
    !Student.java
    
    # TODO文件会被忽略
    /TODO
    
    # build/目录下的所有文件都忽略
    build/
    
    # doc目录下的,以.txt结尾的文件都会被忽略
    doc/*.txt
    
    # doc目录下的子目录,子子目录,以.txt结尾的都会被忽略
    doc/**/*.txt
    

    3.9 删除本地仓库文件(删)

    git rm 文件名
    

    3.10 克隆远程仓库(增)

    • 创建一个文件夹,用于存放clone下来的仓库。
    git clone '远程仓库地址'
    eg:git clone 'https://gitee.com/white-clouds/enroute.git'
    

    3.11 查看远程仓库(查)

    git remote
    git remore -v
    

    3.12 创建远程仓库(码云)

    • 将代码提交到远程仓库,即可以与小伙伴协同开发啦。
    • 添加仓库开发者

    3.13 使本地仓库与远程仓库建立关联

    git remote add origin 远程地址
    eg:git remote add origin https://gitee.com/white-clouds/test-02.git
    

    3.13 移除远程仓库(删)

    git remote rm
    eg:git remote rm origin
    

    3.14 从远程仓库中拉取(改)

    git pull origin master
    

    3.15 推送到远程仓库(增)

    # 添加到暂存区
    git add .
    # 添加到本地仓库
    git commit -m '描述'
    # 推送到远程仓库
    git push
    

    4、Git分支

    • 什么是分支?即从主线上分离出来,在分支上的操作,不会影响到主线上。就像树一样,树枝的好坏,对树根不会产生太大的影响,只有树根坏了,整棵树也就枯萎了。

    • 分支的应用:在实际项目中,我们需要对项目进行扩展升级时,就需要对原先的代码进行改动,在改动的过程中避免不了出现bug的时候,也有可能会对原先的项目产生不必要的影响,所以我们需要使用分支,将主线copy一份出来,在此基础上进行扩展升级,当调试好之后,再将分支整合到主线上,就可以有效避免影响主线的运行。

    4.1 分支的查看(查)

    # 查看本地仓库分支
    git branch
    
    # 查看远程仓库分支
    git branch -l
    
    # 查看本地与远程仓库分支
    git branch -a
    

    4.2 分支的创建(增)

    git branch '分支名'
    eg:git branch branch-01
    

    4.3 分支的切换(改)

    git checkout '分支名'
    eg:checkout 'branch-01'
    

    4.4 分支的删除(删)

    • 注意:需要先切换到其他分支上,才可以删除分支。
    git branch -d '分支名'
    eg:git branch -d 'branch-01'
    

    4.5 将分支推送到远程仓库

    git push origin '分支名'
    eg:git push origin 'branch-01'
    

    4.6 合并分支

    git merge '分支名'
    eg:git merge 'branch-01'
    

    5、IDEA中使用Git

    • IDEA版本:2020.2.1

    5.1 IDEA中配置Git

    5.2 从远程仓库中,将项目拉取下来

    5.3 将IDEA中的工程添加到Git中

    5.4 添加忽略文件.gitignore

    5.5 将代码添加到暂存区

    5.6 将代码提交到本地仓库

    5.7 将代码推送到远程仓库

    • 在码云上,创建新的仓库,用来存放本地新仓库。





    5.8 版本查看

    5.9 创建分支

    5.10 切换分支

    5.11 合并分支

    • 主线
    • 分支
    • 合并

    • 合并后,切换到主线,再次推送

    ps:如有不足之处,请指出。我们共同进步。

  • 相关阅读:
    2019-7-29-WPF-元素裁剪-Clip-属性
    2018-2-13-C#-枚举转字符串
    2018-2-13-C#-枚举转字符串
    2018-2-13-WPF-DelegateCommand-出现Specified-cast-is-not-valid
    什么是可串行化MVCC
    年轻就该多尝试,教你20小时Get一项新技能
    初识一周Linux(Ubuntu)我学会了什么
    Red Hat Linux的ftp安装和配置方法
    copy_{to, from}_user()的思考
    自定义注解!绝对是程序员装逼的利器!!
  • 原文地址:https://www.cnblogs.com/enroute/p/13733170.html
Copyright © 2020-2023  润新知