Git入门(IDEA+ Gitee版)

Git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git安装

直接搜Git,下载安装包,无脑安装就ok。

一、Git前置知识

初学我们先使用Git Bash,使用Bash实际上就是和使用Linux差不多的,下面有记录一些常用的命令

cd xxx
# 改变目录
cd ..
# 返回上一级
pwd
# 显示当前位置
ls(ll)
# 都是列出当前目录的所有文件,ll比ls更详细
touch xxx.xx
# 创建一个xxx.xx文件
rm xxx.xx
# 删除xxx.xx文件
rm -r xxx
# 删除一个名为 xxx 的文件夹
mv xxx.xx **
# 移动文件,将xxx.xx文件移动到**文件夹内
reset
# 重新初始化终端
clear
# 清屏
history
# 查看命令历史
help
# 帮助
exit
# 退出

GIt配置

git config -l
# 此命令可查看git配置
git config --global --list
# 此命令可查看用户配置,还没配置就查看不了
git config --system --list
# 此命令查看系统配置

系统配置文件在安装目录下的 etc/gitConfig。

用户配置文件在你的用户文件夹下。

没有配置就不会有用户的gitConfig文件,输入命令创建

git config --global --edit

也可以输入命令配置或者手动配置:

git config --global user.name "xxxx""
git config --global user.email "xxx@xxx.xx"

二、Git基本理论

git工作流程

在这里插入图片描述

  1. 我们在WorkSpace中添加,删除,修改文件
  2. 将需要进行版本管理的文件放入暂存区
  3. 将暂存区的文件提交到git仓库

因此,git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)。

三、Git使用

3.1 文件的四种状态

  1. untracked 未跟踪,此文件在文件夹中,但没有加入git库,不参与版本控制,要通过git add将其变为staged。
  2. unmodify 文件已入库,未修改,文件有两种去处,一是被修改,变为modified状态,二是使用 git rm将其移出版本库,成为untracked。
  3. modified 文件已修改,可通过git add进入暂存staged,使用git checkout则丢弃修改,返回到unmodify状态,git checkout即从库中取出文件,覆盖当前修改
  4. staged 暂存状态,执行git commit将修改同步到库,库和本地文件又变为一致,文件为Unmodify状态。执行 git reset HEAD filename 取消暂存,文件变为Modified。

可通过命令查看文件状态:

git status

3.2 使用Git

  1. 初始化

    在要创建的git项目的目录下空白处右键选择git bash,或者使用命令创建目录并cd进去,然后输入命令git init

    git init
    

    初始化完毕后该文件夹会多出一个.git的隐藏目录

  2. 偷代码

    以gitee为例,到远程仓库后,会有一个克隆/下载的url地址,我们只需要输入

    git clone [url]
    # [url] 输入克隆/下载的url
    

    就会将远程仓库的代码下载到本地仓库

  3. 添加到暂存区

    git add .
    # 添加当前目录下所有文件到暂存区
    
  4. 提交

    git commit -m 消息内容
    

    将staged状态的文件提交

  5. 忽略文件

    有时候并不是所有的文件都要版本控制,比如临时文件,数据库文件,设计文件等。

    主目录下创建“.gitignore”文件来配置将忽略哪些文件,规则:

    1. 可以使用Linux通配符,‘*’表示任意多个字符,‘?’表示一个字符,‘[]’表示可选字符范围,“{}”表示可选字符串……
    2. !+文件名,表示外规则,将不被忽略
    3. / + 目录名,表示只忽略根目录下的该目录
    4. 目录名 + /, 表示忽略该目录下所有文件

    示例:

    *.txt
    # 忽略所有 .txt结尾的文件
    !lib.txt
    # 忽略除了lib目录下的txt文件
    /temp
    # 忽略根目录下的temp文件,但不包括其他目录的temp
    build/
    # 忽略build目录下的所有文件
    doc/*.txt
    # 忽略doc目录下的所有.txt文件,但不包括子目录下的txt文件
    

    狂神的配置:

    *.class
    *.log
    *.lock
    
    # Package Files #
    *.jar
    *.war
    *.ear
    target/
    
    # idea
    .idea/
    *.iml/
    
    *velocity.log*
    
    ### STS ###
    .apt_generated
    .factorypath
    .springBeans
    
    ### IntelliJ IDEA ###
    *.iml
    *.ipr
    *.iws
    .idea
    .classpath
    .project
    .settings/
    bin/
    
    *.log
    tem/
    
    #rebel
    *rebel.xml*
    

3.3 Git结合工具使用

Gitee

先注册,注册就完事。

然后生成公钥:

到当前用户目录下找到.ssh文件夹

ssh-keygen
# 还可以用一些加密算法
ssh-keygen -t rsa

生成后将公钥复制粘贴到ssh设置里面,添加一个公钥。

然后建个仓库

克隆、修改、提交什么的随便玩玩。

IDEA集成Git

两种办法,一是直接在git本地工作区创建项目,二是将空仓库克隆后,将那些文件拷贝到项目中。

如果idea提示找不到git,打开设置

在这里插入图片描述

配置就完事。

配置完成后可根据文件颜色来判断文件状态:

绿色:已经加入控制暂未提交;

红色:未加入版本控制;

蓝色:加入,已提交,有改动;

白色:加入,已提交,无改动;

灰色:版本控制已忽略文件;

黄色:被git忽略,不跟踪。

可在右上角快捷完成git的一些操作:

在这里插入图片描述

四、Git分支

git branch 
# 列出本地分支
git branch -r
# 列出远程分支
git branch xxx
# 新建一个分支,停留在原分支
git checkout -b xxx
# 新建一个分支,切换到该分支
git merge xxx
# 合并指定分支到当前分支
git branch -d xxx
# 删除分支

git push origin --delet xxx
git branch -dr xxx
# 删除远程分支

master主分支应该非常稳定,用来发布稳定版本,一般情况下不允许在上面工作, 工作一般情况下在新建的dev分支,工作完成后,若要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

Git只需要最开始了解一些基础操作,日后再工作中使用git自然就熟练了。

五、补充

一套流程:

  1. Gitee上建空仓库,空仓库会有提示。

    请添加图片描述
    请添加图片描述

  2. 按照空仓库提示,在本地初始化一个仓库,push一个README.md上去。

  3. 创建dev分支

    git checkout -b dev
    
  4. 给远程仓库添加dev分支,并且将master分支设置为受保护或者只读(只读的话每次合并dev分支都要去设置一下)。

    git push origin dev:dev
    # 推送一个分支到远程仓库
    

请添加图片描述

  1. 在本地dev分支完成开发,将本地dev分支推送到远程仓库的dev分支,远程dev分支稳定后,将其合并到远程master分支。

持续学习:

git merge xxx
# 将xxx分支合并到当前分支
git pull origin dev:master
# 将远程dev分支合并到本地master分支
git push -u origin master
# 推送到远程仓库的master分支 -u意为设置默认主机
git push <远程主机名> <本地分支名>:<远程分支名>
# 如果分支名相同,可以省略不写冒号
git pull <远程主机名> <远程分支名>:<本地分支名>
# 远程分支合并到本地分支
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值