git使用教程

前言

git可以说是程序员最常使用的一个工具,本篇文章总结了一下常见的git使用方式。

git简介

git是一个开源的版本控制器。版本控制器就是能了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。
目前最主流的版本控制器就是 Git 。Git 可以控制电脑上所有格式的⽂件,例如 doc、excel、dwg、dgn、rvt 等等。对于我们开发⼈员来说,Git 最重要的就是可以帮助我们管理软件开发项⽬中的源代码⽂件!

git能解决的问题

在编写各种⽂档时,为了防⽌⽂档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,⽐如:“报告-v1”“报告-v2”“报告-v3”“报告-确定版”“报告-最终版”“报告-究极进化版”...
每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使⽤ 。但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本。
git作为一个版本控制器,能够解决这些问题:
1)记录每一个版本的改变
2)能够恢复到想要的版本

git安装

在上面的链接下载对应平台的安装包,安装好以后看是否可以正常使用,如果不行,配置一下环境变量。显示下面的内容证明安装成功。

git工作原理

工作区:工作区就是我们编码的目录,我们可以在这个目录进行代码的编写改动操作
暂存区:只有将文件加入在暂存区,git才能管理这些文件
仓库区:将暂存区的文件提交到仓库,我理解的就是本次修改的一个版本

git基本操作

初始化git仓库,会在当前目录生成一个隐藏文件夹 .git 不要去修改这个文件夹下的任意东西。 git init # 查看git的状态 ,如果此时新建一个文件,那么这个文件是没有被追踪的,说白了git还没有管理这个新建的文件 git status # 让git管理这个新建的文件 git add index.html # 让文件由暂存区提交到仓库区。此时文件才真正的被git管理了。 # 如果提交日志乱码,右键-->options-->Text-->将编码改成utf-8 git commit -m '第一次提交' # 查看提交日志 git log

git常用命令

git add(重点) 作用:将文件由 工作区 添加到 暂存区,暂存文件 命令: git git add 文件名 例如: git add index.html git add --all 或者 git add -A 或者git add .(简写) 添加所有文件 git add a.txt b.txt 同时添加两个文件 git add *.js 添加当前目录下的所有js文件 git checkout 文件名 作用:暂存区的内容恢复到工作区。 git checkout 1.txt 将暂存区中1.txt文件恢复到工作区 git commit(重点) 作用:将文件由 暂存区 添加到 仓库区 git commit -m "提交说明" git status 作用:查看文件的状态 命令:git status 命令:git stauts -s 简化日志输出格式 git log 作用:查看提交日志 git log 只能查看当前head以及以前的日志 git log --oneline 简洁的日志信息 git reflog 查看所有的提交变更日志 git reset 作用:版本回退,将代码恢复到已经提交的某一个版本中。 git reset --hard 版本号 将代码回退到某个指定的版本(版本号只要有前几位即可) git reset --hard head~1 将版本回退到上一次提交 ~1:上一次提交 ~2:上上次提交 ~0:当前提交

git忽略文件配置

在仓库中,有些文件是不想被git管理的,比如数据的配置密码、写代码的一些思路等。git可以通过配置从而达到忽视掉一些文件,这样这些文件就可以不用提交了。
  • 在仓库的根目录创建一个.gitignore的文件,文件名是固定的。
  • 将不需要被git管理的文件路径添加到.gitignore

git分支操作

git分支操作常用命令

git branch 创建分支
git branch 分支名称创建分支,分支中的代码,在创建时与当前分支的内容完全相同。
git在第一次提交时,就有了一个叫master的主分支。
git branch 查看分支
git branch就可以查看所有分支,在当前分支的前面会有一个*
git checkout 切换分支
  • git checkout 分支名称切换分支
  • 在当前分支的任何操作,都不会影响到其他的分支,除非进行了分支合并。
  • 切换分支之前,必须保证代码已经提交了
创建并切换分支
git checkout -b 分支名称  创建并切换分支
删除分支
  • git branch -d 分支名称 可以删除分支
  • 注意:不能在当前分支删除当前分支,需要切换到其他分支才能删除。
  • 注意:master分支是可以删除的,但是不推荐那么做。
合并分支
  • git merge 分支名称 将其他分支的内容合并到当前分支。
  • master分支中执行git merge dev 将dev分支中的代码合并到master分支
git合并冲突
  • 对于同一个文件,如果有多个分支需要合并时,容易出现冲突。
  • 合并分支时,如果出现冲突,只能手动处理,再次提交,一般的作法,把自己的代码放到冲突代码的后面即可。
远程仓库
所有的程序员都可以通过远程仓库来进行版本的共享,达到所有人的代码一致的效果。

远程仓库操作常用命令

git push

  • 作用:将本地代码提交到远程仓库
  • git push 仓库地址 master 在代码提交到远程仓库,注意master分支必须写,不能省略
  • 例子:git push git@github.com:hucongcong/test.git master 如果第一次使用,需要填写github的用户名和密码

git pull

  • 作用:将远程的代码下载到本地
  • git pull 代码地址 将远程的代码中master分支下载到本地
  • 通常在push前,需要先pull一次。

git clone

  • 作用:克隆远程仓库的代码到本地
  • git clone 仓库地址 自定义本地仓库名 将整个仓库克隆到本地

git remote

每次push和pull操作都需要带上远程仓库的地址,非常的麻烦,我们可以给仓库地址设置一个别名
  • git remote add 仓库别名 仓库地址
使用仓库别名替代仓库地址。仓库别名相当于一个变量,仓库地址就是对应的值。
  • git remote add hucc git@github.com:hucongcong/test.git 设置了一个hucc的仓库别名,以后push和pull都可以不用仓库地址,而用hucc
  • git remote remove hucc 删除hucc这个仓库别名。
  • git remote 查看所有的仓库别名
  • 如果使用了git clone命令从远程仓库获取下来的,那么这个本地仓库会自动添加一个 origin的远程地址,指向的就是克隆的远程地址。

SSH免密码登录

每次push代码,都需要输入用户名跟密码,非常的麻烦。因此我们可以配置一个SSH免密码登陆。
  • github为了账户的安全,需要对每一次push请求都要验证用户的身份,只有合法的用户才可以push
  • 使用ssh可以实现免密码操作(不需要使用密码)
配置
1 创建SSH Key:ssh-keygen -t rsa 2 在文件路径 C:\用户\当前用户名\ 找到 .ssh 文件夹 3 文件夹中有两个文件: 私钥:id_rsa 公钥:id_rsa.pub 4 在 github -> settings -> SSH and GPG keys页面中,新创建SSH key 5 粘贴 公钥 id_rsa.pub 内容到对应文本框中 5 在github中新建仓库或者使用现在仓库,拿到git@github.com:用户名/仓库名.git 6 此后,再次SSH方式与github“通信”,不用输入密码确认身份了

idea配置git

在下面配置中添加git安装的地址
主要通过右键进行操作,具体功能可以尝试一下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值