Git和GitHub快速上手教程

Git基础知识

基本知识

  1. Git是一个分布式版本控制系统,无需服务器软件支持;
  2. Git把内容按照元数据方式存储,传统的SVN是按照文件存储;
  3. Git没有一个全局版本号,内容完整性高;
    Git和SVN的比较图

Git的文件存储结构

文件存储结构分成工作区、暂存区和远程仓库。工作区即实际代码编写区域;暂存区是.git文件,用于保存准备提交远程仓库的内容;远程仓库是github

Git核心指令行

安装git客户端(windows操作)

	git bash 支持Linux命名的git控制台(常规用)
	git CMD 支持windows命令的控制台
	git GUI   可视化界面
	苹果电脑(自带git)

指令安装过程:https://www.runoob.com/git/git-install-setup.html

Git具体操作步骤

  1. cd 路径 - 进入当前目录

git bash下操作文件以及文件夹命令
1, cd : change directory的简写,改变目录bai的意du思,就是切换zhi到哪个目录下, 如 cd e:\fff 切换 E 盘下面的fff 目录。
当我们用cd 进入文件夹时,我们可以使用 通配符*, cd f*, 如果E盘下只有一个f开头的文件夹,它就会进入到这个文件夹.

2, cd … 回退到上一个目录。我们在写js,或css时,我们引入文件时,… 表示的就是上一个目录, 所以 cd …
回退到上一个目录就很好理解了。注意,cd 和两个点点…之间有一个空格,

3, pwd : print working directory, 打印工作目录,它会显示我们当前所在的目录路径。

4, ls: list, 列出当前目录中的所有文件, 只不过ll(两个ll)列出的内容更为详细。

5, touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。

6,rm: 删除一个文件, rm index.js 就会把index.js文件删除.

7, mkdir: 新建一个目录,就是新建一个文件夹. 如mkdir src 新建src 文件夹.

8, rm -r : 删除一个文件夹, r (recusive 是递归的意思),
删除用的就是递归,先删除文件夹里面的内容,再删除文件夹。 rm -r src 删除src目录。

9, mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然,
这样写,必须保证文件和目标文件夹在同一目录下.

10, reset 清屏,把git bash命令窗口中的所有内容清空。

Windows下修改Git Bash 默认路径

(1)安装好Git工具后,找到桌面或者win8的开始菜单下找到Git Bash 快捷方式

(2)选中Git Bash图标,右键,选中“属性”,

(3)去掉–cd-to-home,修改“起始位置”为自定义的git 本地仓库的路径,如:F:\Workspace\KYGitLabel

(4)再次打开Git Bash时已经修改了默认路径

(5)Git CMD 也如上修改,将快捷方式中路径修改为自定义路径即可,这样每次打开Git Bash 和Git CMD就自己进入本地的Git
Repository里面了。

  1. 配置git基本操作
    github上新建远程仓库过程:官网注册登录之后,右上角“+”按钮 -> “New repository” -> 输入repository name以及Description -> “create repository”

  2. git init 在本地进行初始化(建立暂存区
    .git 文件存储当前项目的所有版本信息

  3. 工作区 => 暂存区
    git add 文件名 // 提交单个文件
    git add * // 提交所有文件

    git commit -m “这一次提交的相关描述”
    在这里插入图片描述

  4. 查看当前工作区的状态
    git status
    在这里插入图片描述

  5. 从暂存区恢复文件到工作区
    git checkout 文件名

  6. 查看工作区和暂存区版本的区别
    git diff

  7. 清屏操作
    clear

  8. 查看提交到暂存区的版本记录
    git log // 可以显示每次提交的版本号
    在这里插入图片描述

  9. 恢复文件到某个版本
    git reset --hard 版本号

  10. 生成远程仓库的密匙
    ssh-keygen -t rsa -C “github注册的邮箱地址”
    执行后,查找本机生成的密匙文件:我的电脑 => 用户 => 用户名文件夹 => .ssh(隐藏文件)=> xxx.pub文件
    密匙成功生成截图

  11. github账户配置密匙
    打开github网站 -> 右上角Settings -> "SSH and GPG keys"按钮 -> “new SSH key” -> 把xxx.pub文件内容复制过来,保存即可

  12. 暂存区 ==> 远程仓库
    git remote add origin https://github.com/WimbWoo/J2SE_version1.git
    在这里插入图片描述
    git push -u origin master
    【注意】提交过程可能需要输入用户名和密码

【问题】在向远程仓库提交代码时,遇到以下问题时
在这里插入图片描述

【解决方法】

1: 进行push前先将远程仓库pull到本地仓库
$ git pull origin master    #git pull --rebase origin master
$ git push -u origin master
 
2: 强制push本地仓库到远程 (这种情况不会进行merge, 强制push后远程文件可能会丢失 不建议使用此方法)
$ git push -u origin master -f
 
3: 避开解决冲突, 将本地文件暂时提交到远程新建的分支中
$ git branch [name]
# 创建完branch后, 再进行push
$ git push -u origin [name]
  1. 已经提交至仓库后,再次提交至仓库
    git push
  2. 从远程仓库克隆至本地
    git clone https://github.com/WimbWoo/J2SE_version1.git //仓库地址
  3. 从远程仓库同步代码
    git pull

常用命令汇总

【1】基础命令
git init:初始化本地库

git status:查看工作区、暂存区的状态

git add <file name>:将工作区的“新建/修改”添加到暂存区

git rm --cached <file name>:移除暂存区的修改

git commit <file name>:将暂存区的内容提交到本地库

  tip:需要再编辑提交日志,比较麻烦,建议用下面带参数的提交方法

git commit -m "提交日志" <file name>:文件从暂存区到本地库

【2】日志
git log:查看历史提交

  tip:空格向下翻页,b向上翻页,q退出

git log --pretty=oneline:以漂亮的一行显示,包含全部哈希索引值

git log --oneline:以简洁的一行显示,包含简洁哈希索引值

git reflog:以简洁的一行显示,包含简洁哈希索引值,同时显示移动到某个历史版本所需的步数

【3】版本控制
git reset --hard 简洁/完整哈希索引值:回到指定哈希值所对应的版本

git reset --hard HEAD:强制工作区、暂存区、本地库为当前HEAD指针所在的版本

git reset --hard HEAD^:后退一个版本  

  tip:一个^表示回退一个版本

git reset --hard HEAD~1:后退一个版本

  tip:波浪线~后面的数字表示后退几个版本

【4】比较差异
git diff:比较工作区和暂存区的所有文件差异

git diff <file name>:比较工作区和暂存区的指定文件的差异

git diff HEAD|HEAD^|HEAD~|哈希索引值 <file name>:比较工作区跟本地库的某个版本的指定文件的差异

【5】分支操作
git branch -v:查看所有分支

git branch -d <分支名>:删除本地分支

git branch <分支名>:新建分支

git checkout <分支名>:切换分支

git merge <被合并分支名>:合并分支

  tip:如master分支合并 hot_fix分支,那么当前必须处于master分支上,然后执行 git merge hot_fix 命令

  tip2:合并出现冲突

    ①删除git自动标记符号,如<<<<<<< HEAD、>>>>>>>等

    ②修改到满意后,保存退出

    ③git add <file name>

    ④git commit -m "日志信息",此时后面不要带文件名

【6】本地库与远程仓库的交互
git clone <远程库地址>:克隆远程库

  功能:①完整的克隆远程库为本地库,②为本地库新建origin别名,③初始化本地库

git remote -v:查看远程库地址别名

git remote add <别名> <远程库地址>:新建远程库地址别名

git remote rm <别名>:删除本地中远程库别名

git push <别名> <分支名>:本地库某个分支推送到远程库,分支必须指定

git pull <别名> <分支名>:把远程库的修改拉取到本地

  tip:该命令包括git fetch,git merge

git fetch <远程库别名> <远程库分支名>:抓取远程库的指定分支到本地,但没有合并

git merge <远程库别名/远程库分支名>:将抓取下来的远程的分支,跟当前所在分支进行合并

git fork:复制远程库

  tip:一般是外面团队的开发人员fork本团队项目,然后进行开发,之后外面团队发起pull request,然后本团队进行审核,如无问题本团队进行merge(合并)到团队自己的远程库,整个流程就是本团队跟外面团队的协同开发流程,Linux的团队开发成员即为这种工作方式。

IDEA中Git插件使用

1.IDEA中配置Git
过程:file --> other settings --> setting for new projects --> version control --> git
在这里插入图片描述
2.配置GitHub账号
在这里插入图片描述
【遇到的问题】在输入GitHub账号和密码时出现Invalid authentication data错误,将地址 github.com 改成 https://github.com即可

3.点击VCS->Import into Version Control->Create Git Repository选择该项目,即在该项目目录下新建仓库成功
相当于在该项目目录下执行git init命令

4.在项目上右键选择Git,选择+Add
相当于执行git add命令

5.在项目上右键选择Git,选择Commit Directory,提交注释为“初始化项目成功”
相当于执行git commit -m “初始化项目成功”

6.在项目上右键选择Git,选择Repository,选择并点击击Push
相当于执行git push命令

【参考链接】
菜鸟Git教程 https://www.runoob.com/git/git-tutorial.html
插件使用 https://www.cnblogs.com/yanguobin/p/11822980.html


博观而约取,厚积而薄发~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wimb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值