一、软件安装

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. 【译】10 款国外实用、有趣的 GitHub 简介 README

    本文翻译自 dev.to 文章<10 Standout GitHub Profile READMEs> 原文链接见:https://dev.to/github/10-standout-gi ...

  2. Linux 中文编码

  3. 安装Scrapy过程中遇到的几个问题总结

    安装Scrapy 1.https://www.lfd.uci.edu/~gohlke/pythonlibs/下载 Twisted 安装 Twisted-19.10.0-cp37-cp37m-win_a ...

  4. 【API进阶之路】无法想象!大龄码农的硬盘里有这么多宝藏

    摘要:通过把所需建立的工具库做成云容器化应用,用CCE引擎,通过API网关调用云容器引擎中的容器应用.不仅顺应了云原生的发展趋势,还能随时弹性扩容,满足公司规模化发展的需求. 公司开完年中会后,大家的 ...

  5. C#LeetCode刷题-排序

    排序篇 # 题名 刷题 通过率 难度 56 合并区间   31.2% 中等 57 插入区间   30.4% 困难 75 颜色分类   48.6% 中等 147 对链表进行插入排序   50.7% 中等 ...

  6. JavaScript 手写 setTimeout 及 同步调用和异步调用

    demo let timeout = (sec, num) => { const now = new Date().getTime() // 获取进入方法时的时间 let flag = true ...

  7. Centos系统安装Python3.7

    服务器安装Python3.7,实测可用 原博客地址 首先要先安装依赖包: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel ...

  8. CTFhub-WEB前置-http协议闯关

    前情提要: 在渗透学习过程中,web的基础知识很重要,在这里通过long long ago之前学习的http基础,并结合网上的CTFhub--WEB前置之http协议闯关,对web基础知识进行加固并查 ...

  9. 【Leetcode 做题学算法周刊】第八期

    首发于微信公众号<前端成长记>,写于 2020.05.07 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 15 ...

  10. java class类和object类

    Class类 介绍 Java的Class类是java反射机制的基础,通过Class类我们可以获得关于一个类的相关信息 Java.lang.Class是一个比较特殊的类,它用于封装被装入到JVM中的类( ...