一、软件安装

1.先安装【Git-2.24.1.2-64-bit.exe】软件。(官网下载的很慢,可以在百度云盘下载我的)

链接:https://pan.baidu.com/s/1uoIS9DWSBpYuJzubCpY91w

提取码:bepi

2.下载后,双击安装包进行安装。

3.点击【Next】下一步。

4.修改安装路径,然后点击【Next】下一步。

5.默认即可,然后点击【Next】下一步。

6.默认即可,然后点击【Next】下一步。

7.默认即可,然后点击【Next】下一步。

8.默认即可,配置git环境。点击【Next】下一步。

9.点击【Instal】进行安装。

9.点击【Instal】进行安装。

10.安装完成后,在桌面会有Git Bash快捷方式,以及桌面空白处右击出现Git命令,如下图:

二、基本操作

1.使用命令设置用户名:【git config --global user.name "你的用户名"】

2.使用命令设置邮箱:【git config --global user.email "你的邮箱"】

2-1.查看一下配置的【用户名】和【邮箱】,以防配置错误:

3.使用命令生成SSH Key【ssh-keygen -t rsa -C '你的邮箱'】

(这样代表以及生成成功了)

4.创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

5.打开【id_rsa.pub】文件(用记事本打开)。复制里面的Key。

6.然后登陆GitHub,没有账号的先注册账号。

网址:https://github.com/

7.在网址的右上角,点开头像。打开【Settings】。

8.找到【SSH and GPG keys】,点击【New SSH key】

9.【title】自己取名,【key】就是在之前步骤生成的Key,去复制下来。然后点击【Add SSH key】创建即可。创建成功系统会发一封邮件给你。

三、克隆项目

1.首先新建一个文件夹,这个文件夹用来存储你的远程项目的。

2.在这个文件夹中。右击鼠标,打开【Git Bash Here】

3.使用命令初始化项目:【git init】

(可以看到文件夹中多了一个文件:【.git】,这个是隐藏文件,如果需要查看:)

4.使用命令克隆项目:【git clone "你的项目地址"】

(项目地址从这里复制,粘贴的时候不能使用快捷键ctrl+v,必须使用鼠标右键,然后点击【paste】进行粘贴)

然后使用命令:

(可以看到克隆100%,已经克隆完毕了,右边文件夹也多了项目文件,然后可以进行操作了)

四、操作项目并进行远程协同

1.在进行对项目的操作时,记得要在项目里面的【.git】当前文件夹中进行操作,而不是在之前init初始化项目的文件夹!!!主编做这个操作了弄错了好久~

2.【添加】操作:

(1)添加单个文件:【git add "文件名"】

(2)添加所以文件:【git add -A】/ 【git add .】/【git add *】

3.【删除】操作:

(1)删除单个文件:【git rm “文件名”】

 4.将文件推送到本地版本库:【git commit -m "提交备注"】

5.执行远程推送:【git push】/【git push origin master】(这一步可能会让你输入邮箱和登录密码)

6.拉取:【git pull】

五、常用命令

1、常见命令

l  git init : 初始化 git 仓库,即将一个文件夹初始化为一个 git 仓库。具体的操作是创建一个 .git 隐藏文件夹

l  git status : 查看仓库的状态

l  git add <file> : 将文件提交到暂存区

l  git commit -m <代码提交信息> : 将暂存区的文件提交到仓库中,并附带说明信息

l  git log : 查看所有产生的 commit 记录

l  git config -l : 查看自己的配置,默认配置都在.git/config 文件中

1.2 分支相关的命令

l  git branch <branch_name> : 如果不加上 <branch_name>,查看当前分支情况。如果加上,就是创建一个分支。

l  git checkout <branch_name> : 切换到<branch_name>的分支上

l  git checkout -b <branch_name> : 创建一个分支并切换到这个分支上,效果相当于合并上面 2 个命令。

l  git merge <branch_name> : 将 <branch_name> 分支合并到当前所在的分支上

l  git branch -d <branch_name> : 将 <branch_name> 分支删除

l  git branch -D <branch_name> : 将 <branch_name> 分支强制删除。如果 <branch_name> 分支存在未合并的代码时,那么用 -d 是删除不了。

1.3 标签相关的命令

l  git tag : 查看历史 tag 记录。

l  git tag <tag_name> <commit_id> : 在指定提交 id 上创建一个 tag。如果不写 <commit_id> ,那就在最新的 commit 上创建一个 tag。

l  git checkout <tag_name> : 切换到 <tag_name> 标签

l  git show <tag_name> : 查看标签信息

l  git tad -d <tag_name> : 删除标签

l  git push origin <tag_name> : 将某个标签推送到远程仓库

l  git push origin :refs/tags/<tag_name> : 可以删除一个远程标签。

1.4 SSH

提前申明, windows 系统并不自带 SSH, 但是安装的 Git 中带有 SSH。所以以下命令请在 Git bash 下执行。

l  ssh-keygen -t rsa : 指定 rsa 算法生成密钥。

l  ssh -T git@github.com : 测试 ssh 是否成功添加到 github 中

1.5 Github 操作

l  git clone ... : 将 github 项目复制到本地的当前目录

l  git push origin <本地分支>:<远程分支> : 把本地分支中本地代码同步到远程分支

l  git pull orgin <branch_name> : 把远程 <branch_name> 分支的最新的代码同步到本地当前分支中

l  get remote add origin git@github.com:xxx/xxxx.git : 将当前本地仓库与远程进行联接

l  git remote -v : 查看我们当前项目有哪些远程仓库

1.6 补充命令

alias 别名

n  git config --global alias.<别名> "<原命令>"。比如 git config --global alias.c "checkout",之后 git c == git checkout

diff

n  git diff : 比较工作区文件和暂存区文件差异。如果加上文件名,就仅比较这个文件在工作区与暂存区的区别

n  git diff <commit_id1> <commit_id2> : 比较两次提交之间的差异

checkout

n  作用 1 :切换分支、标签以及 commit。本质是「用某个 HEAD 中的最新内容替换掉你的工作区中的文件」。切换时,暂存区的内容不受影响但相当于在切换前执行了 git stash

n  作用 2 :撤销还没进入暂存区的修改的作用。举个例子,假设我们在一个分支开发一个小功能,刚写完一半,这时候需求变了,而且是大变化,之前写的代码完全用不了了,好在你刚写,甚至都没有 git add 进暂存区,这个时候很简单的一个操作就直接把原文件还原:git checkout a.md,本质上是将 HEAD 内容覆盖掉工作区的内容。注意,checkout 命令只能撤销还没有 add 进暂存区的文件。

stash

n  作用:把当前分支中的工作区的所有修改先暂存到栈上。

n  运用场景:假设我们正在一个新的分支做新的功能,这个时候突然有一个紧急的bug需要修复,而且修复完之后需要立即发布。当然你说我先把刚写的一点代码进行提交不就行了么?这样理论上当然是ok的,但是这会产品垃圾commit,原则上我们每次的commit都要有实际的意义,你的代码只是刚写了一半,还没有什么实际的意义是不建议就这样commit的,那么就用 git stash 保留。

n  git stash : 把当前分支所有没有 commit 的代码先暂存起来

n  git stash list : 查看所有 stash 记录

n  git stash apply : 将暂存的代码还原

n  git stash drop : 把最近一条 stash 记录删除。注意:每次还原代码后,最好删除这条 stash 记录

n  git stash pop == git stash apply + git stash drop

n  注意:执行了 git add 的数据在切换分支时,会自动暂存一起。本质上是因为切换分支不影响暂存区的数据。但需要手动恢复。

Git深入浅出使用教程:Git安装、远程控制、常用命令(全)的更多相关文章

  1. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  2. Git安装和常用命令

    Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...

  3. RabbitMQ入门教程(一):安装和常用命令

    原文:RabbitMQ入门教程(一):安装和常用命令 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn ...

  4. 实验 1 Linux 系统的安装和常用命令

    实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...

  5. ios开发环境配置及cordova安装与常用命令

    一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...

  6. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  7. 记录redis安装及常用命令

    Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...

  8. Docker常用命令-全

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接: https://app.yinxiang.com/shard/s17/nl/19391737/9f6bf39e- ...

  9. git在windows及linux环境下安装及常用命令

    git在windows下安装 下载地址:https://git-scm.com/ 默认安装即可 验证 git --version git在linux下安装 下载地址:https://mirrors.e ...

随机推荐

  1. rabbitMQ安装问题记录

    参考链接: rabbitmq国内镜像地址:https://www.newbe.pro/Mirrors/Mirrors-RabbitMQ/ https://www.zhihu.com/question/ ...

  2. C笔记-左值与右值

    目录 前言:工欲善其事,必先利其器 两种资料 参考资料及其使用说明 官方对于左值和右值的定义 实际使用时的疑问 左值的涵盖范围 重要概念: 左值转化(lvalue conversion) 左值与指针 ...

  3. linux的文件处理(匹配 正则表达式 egrep awk sed)和系统、核心数据备份

    文件处理 1.处理方式 匹配 正则表达式 egrep awk sed 2.文件中的处理字符 \n  新行符 换行 \t  制表符 tab键 缺省8个空格 \b  退格符 backspace键 退格键 ...

  4. github 错误

    Push failed: Unable to access 'https://github.com/infoo/Neo4j.git/': The requested URL returned erro ...

  5. 【FZYZOJ】愚人节礼物 题解(状压DP)

    前言:麻麻我会写状压DP了! ---------------------------- 题目描述 愚人节到了!可爱的UOI小朋友要给孩子们送礼物(汗-原题不是可爱的打败图么= =..).在平面直角坐标 ...

  6. /usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity on endpoint naughty_wozniak (444e26e0a2a3adb1ff88177ead86099ad64c0406afcec179ce7cfeef8ffa2d5c): (i

    /usr/bin/docker-current: Error response from daemon: driver failed programming external connectivity ...

  7. Layui+MVC+EF (项目从新创建开始)

    最近学习Layui ,就准备通过Layui来实现之前练习的项目, 先创建一个新的Web 空项目,选MVC 新建项目 创建各种类库,模块之间添加引用,并安装必要Nuget包(EF包)   模块名称 模块 ...

  8. 修改jar包配置文件的正确操作,jar包解压出来的文件夹重新打成jar,不依靠开发工具!!!!

    修改jar包配置文件的正确操作,有的时候通过一些解压工具可以对内部的文件进行修改,但是有时候会无效.这就很烦了 一.背景:       有一个springboot项目,事先我已经用编译好打成jar包以 ...

  9. java_数组的定义与操作

    数组定义和访问 数组概念 数组概念: 数组就是存储多个数据的容器,数组的长度固定,多个数据的数据类型要一致. 数组的定义 方式一 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度 ...

  10. 你知道MySQL是如何处理千万级数据的吗?

    mysql 分表思路 一张一亿的订单表,可以分成五张表,这样每张表就只有两千万数据,分担了原来一张表的压力,分表需要根据某个条件进行分,这里可以根据地区来分表,需要一个中间件来控制到底是去哪张表去找到 ...