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. UIKit, AppKit, 以及其他API在多线程当中的使用注意事项

    UIKit, AppKit, 以及其他API在多线程当中的使用注意事项 Overview The Main Thread Checker is a standalone tool for Swift ...

  2. ReactNative---ref的用法和技巧

    1.获取上下文的组件 2. ref属性不仅接受string类型的参数,而且它还可以接受一个function 作为callback.如:将组件view作为参数赋值给this._view <View ...

  3. HDU 3839 Ancient Messages(DFS)

    In order to understand early civilizations, archaeologists often study texts written in ancient lang ...

  4. java 编程小知识点

    --------------------------------- 时间不多了,抓紧做自己喜欢的事情 1. 使用位运算 & 来判断一个数是否是奇数.偶数的速度很快 (a & 1 ) = ...

  5. "@阅后即焚"上线了!

    前一阵发现了一个有趣的网站,他可以让你的文字在显示一次后销毁. 直到我把网站发给一个朋友,网站打不开了,于是就想着开发一个. 前端用的bootstrap这个框架,后端用PHP写的,没有后台,现在还不需 ...

  6. ROS机器人之动作(一)

    前面我们探讨了ros的两种通信方式,话题和服务,服务机制常用于同步的请求/响应交互方式. 话题则是单工通信,尤其是接收方有多时(比如传感器数据流),然而,当需要完成的任务比较复杂时, 服务和话题都不是 ...

  7. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  8. list练习题—输入工人信息

    1) 创建一个List,在List 中增加三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 3000 li4 25 3500 wang5 22 3200 2) 在li4 之前插入一个工人 ...

  9. docker nginx 实现图片预览

    一.实现 nginx http图片预览 1.创建本地配置文件目录以及配置文件 两种方式: 1.1.docker nginx将配置文件抽离到了/etc/nginx/conf.d,只需要配置default ...

  10. HDU_1455_dfs

    http://acm.hdu.edu.cn/showproblem.php?pid=1455 int dfs(int all,int sum,int now),all代表剩余总长,sum,代表每段长, ...