Git 简介

  • 是什么

    • Git 也是一个版本控制管理软件
  • 有什么用,可以解决什么问题
    • 保存历史记录
    • 多人协作
  • 有了 SVN,为啥要学 Git
    • Git 火
    • Git 相对于 SVN 来说,更强大,用户也非常多
  • 怎么用
  • Git 的诞生

git-bash 常用命令

  • pwd
  • ls
    • ls -a
  • cd
  • mkdir
  • clear
  • rmdir
    • 只能删除空目录
  • rm
    • rm 文件名
    • rm -rf 目录名
      • 注:很强大,可以删除非空目录,以及一些比较顽固的文件或者目录

初始化配置

# 设置用户名
git config --global user.name "你的名字"
# 配置用户邮箱
git config --global user.email "你的常用邮箱"
# 设置 gitk 图形查看工具中文显示默认编码(防止乱码)
git config --global gui.encoding utf-8
# 查看配置列表项
git config --list

基本使用

  • git init

    • 初始化一个 Git 仓库
  • git status
    • 查看当前工作区、暂存区、本地仓库的状态
  • git add
  • git commit
    • 示例:git commit -m "日志说明" --author="操作者姓名 <邮箱>"
    • 执行 git commit 的时候,Git 会要求具有用户名和邮箱的参数选项
    • 可以通过 git config 命令配置一下用户名和邮箱
  • git log
  • gitk

总结:操作 Git 的基本工作流程就是先修改文件,然后执行 git add 命令。

git add 命令会把文件加入到暂存区,接着就可以执行 git commit 命令,将文件存入文档库,

从而形成一次历史记录。

工作区、暂存区、本地仓库

版本回退

# git rm --cached <file>
# 恢复暂存区的指定文件到工作区
$ git checkout [file] # 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file] # 恢复暂存区的所有文件到工作区
$ git checkout . # 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file] # 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard # 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit] # 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit] # 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit] # 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit] # 暂时将未提交的变化移除,稍后再移入
$ git stash
$ git stash pop

远程同步

  • remote
  • push
  • pull

在线仓库托管服务

一个不知道 github、stackoverflow 的程序员想想都是可悲的

  • github
  • 码云
  • coding

Github

Github 就是程序员的新浪微博

它可以让你使用社交化的方式进行编程协作、

- 点赞

- 评论

- 转发

- etc.

主要作用:可以免费在线托管你的仓库

可以实现多人协作

提供了一个可视化界面(Web Page)让你能直观清晰的了解你的项目源代码

基本使用

  • 注册
  • 登陆
  • 创建远程仓库
  • 通过 git clone 命令下载远程仓库到本地
    • git clone 会自动帮你把远程仓库下载到本地,不需要再去 git init 了
    • 通过 clone 下来的仓库,git 有一个远程仓库地址列表,git 默认会把你 clone 的地址起一个别名:origin
    • 然后你执行 push 的时候实际上就是将本地的版本提交到 origin 上
  • 在本地进行操作,通过 git commit 形成历史记录
  • 通过 git push 将本地仓库中的历史记录提交到远程仓库

本地已有仓库,需要提交到线上

如果是 git init 出来的仓库,进行 push 提交的时候就不知道要往哪里 push。

所以,这里通过 remote 相关命令进行设置:

# 查看所有的远程仓库信息
git remote show
# 根据别名查看指定的远程仓库信息
git remote show 远程仓库地址别名
# 添加远程仓库信息
git remote add 别名 远程仓库地址

通过上面的 git remote add 添加完远程仓库地址信息之后,还不能直接 git push,必须在每一次

push 的时候加上 git push 仓库地址别名 master 就可以提交了。

如果想要省略 git push 后面需要指定的 仓库地址别名 master 可以通过下面的命令修改:

git push --set-upstream heima master

这样就可以直接使用 git pish 进行提交而不需要指定 heima master

git命令小汇总和github的更多相关文章

  1. git 命令提交项目到github

    git 命令提交项目到github步骤如下: 1.使用git 命令客户端进入项目根路径,输入 git init  命令,创建github本地根目录 2.把文件加入到本地项目 git add .  ,如 ...

  2. git命令合集及github的克隆推送

    安装git 初始化仓库 提交相关 撤销相关 远程推送 分支相关 其他 遇到的错误 github的克隆上传 此文章只是对命令的一个统计,起备忘和复习git只是的作用,不建议从没接触过git的同学通过它来 ...

  3. Git命令小总结

    常用 git init git 初始化 git clone https://github.com/wsxx111/thisStudy.git 从远端拉下来 git status 查看跟踪状态 git ...

  4. 将本地代码通过git命令上传到github的流程

    首先在项目根目录打开命令行或者直接打开git-bash转到项目根目录下 1.创建本地仓库 $ git init 初始化本地仓库 $ git add --all 将项目文件添加到跟踪列表 $ git c ...

  5. 如何使用Git命令将项目从github或者服务器上克隆下来

    在本地新建一个文件夹,作为本地仓库,如“demo”.单击右键git Bush here,打开git,输入命令: cd /c/Users/Administrator/Desktop/demo  然后按回 ...

  6. DBCC常用命令小汇

    DBCC是SQL Server提供的一组控制台命令,功能很强大,掌握一些必要的语句,对操作数据库有不少帮助,所以决定整理一下,发现已有不少类似的整理,减少了不少工作,归类如下: 一.DBCC 帮助类命 ...

  7. git 命令小总结

    下载代码 git clone http://admin@192.168.0.208:7990/scm/klvchen/tale.git 设置用默认户名和密码登录,注意 URI 前面不允许有 http, ...

  8. GitHub的SSH key配置以及常用的git命令介绍

    一. GitHub的SSH key配置 (以windows为例,Mac iOS系统类似) SSH Key 是一种方法来确定受信任的计算机,从而实现免密码登录.Git是分布式的代码管理工具,远程的代码管 ...

  9. hg和git命令对照表

    hg和git命令对照表 来源 https://github.com/sympy/sympy/wiki/Git-hg-rosetta-stone Git hg rosetta stone   muxat ...

随机推荐

  1. mybatis in查询

    原文地址:https://blog.csdn.net/u012427355/article/details/79580561 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集 ...

  2. VMware 虚拟机开机黑屏

    先记录一下害我差点点就又跑去重装了 好几天未打开vm 打开就黑屏 打开虚拟机就是黑屏没反应 找了很久(好像是wegame的原因,昨晚上好像是打开了wegame更新2k和lol) 1献上解决方案 管理员 ...

  3. ios--->泛型

    泛型 开发中使用场景: 1.限制集合中的类型,只能检测方法的调用,因为声明的泛型只能存在方法中 2.当一个类在声明的时候,某个对象的属性不确定,只有创建对象的时候才能确定,就可以使用泛型. 使用泛型的 ...

  4. 拓扑排序(基于dfs+基于队列)

    经典问题-Ordering Tasks dfs函数的返回值表示是否成环,若存在有向环,则不存在拓扑排序.不包含有向环的有向图称为有向无环图(DAG) 可以借助DFS完成拓扑排序,在访问完一个结点时把他 ...

  5. Java并发专栏

    1. Java并发 2. 守护线程与非守护线程 3. 为什么启动线程用start()而不用run()? 4. Java线程join方法总结 5. 生产者与消费者 6. wait.notify/noti ...

  6. Kubernetes学习(一)

    一 安装 三台机器搭建K8S集群,一台master两台woker Docker 18.09.0---kubeadm-1.14.0-0 kubelet-1.14.0-0 kubectl-1.14.0-0 ...

  7. 理解RabbitMQ中的AMQP-0-9-1模型

    前提 之前有个打算在学习RabbitMQ之前,把AMQP详细阅读一次,挑出里面的重点内容.后来找了下RabbitMQ的官方文档,发现了有一篇文档专门介绍了RabbitMQ中实现的AMQP模型部分,于是 ...

  8. Oracle 11g 单实例静默安装实战记录(linux)

    oracle 11g 单实例静默安装 AUTHOR:Oracle_Ran 环境规划: OS Version : Red Hat Enterprise Linux Server release 6.7 ...

  9. 自学Java第三章——《流程控制语句结构》

    流程控制语句结构分为: 1.顺序结构:从上到下依次执行 2.分支结构:多个分支选择其中一个分支执行 3.循环结构:重复执行某些代码 3.1 顺序结构 执行过程:从上到下顺序执行 3.1.1 输出语句 ...

  10. javabst1an

    (单选题)下列概念中不包括任何实现,与存储空间没有任何关系的是() A)类 B)接口 C)抽象类 D)对象 正确答案为:B解析:接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现 ...