git基本用法

如下均针对前端来进行简单介绍和整理:前端

1、Git介绍git

Git是一个开源的分布式版本控制系统,能够有效、高速地处理从很小到很是大的项目版本管理。github

所谓版本控制应实现如下几点,解决多人协做问题,提升开发效率,实现版本控制windows

能够理解为一个工具,能够和代码仓库一块儿使用。咱们实验室用的代码仓库是coding.bash

 

2、git的库结构

 

建立项目的流程以下:服务器

一、项目经理先建立一个本地库和远程库,此时远程库是空的,文件、目录和历史记录都在他的本地库,将本地内容push到远程库。
二、软件开发人员将远程库clone下来,clone操做不只会下载内容,还会建立、初始化令狐冲的本地库。他在本地修改代码,在push到远程库以前,须要先加入该项目团队才能够提交。对于其余人的修改、更新提交到远程仓库,能够pull到本身的本地库。ssh

暂存区:临时存储,打算要提交还没提交,从此能够提交本地也能够撤回。
本地库:存储每个历史版本。分布式

3、Git的安装配置工具

一、下载windows版本的git的地址:https://git-scm.com/download/win ,选择对应版本进行下载,安装过程简单,仅须要点击next便可。学习

二、安装后,右键选择git bash,配置用户我的信息,指令以下:

git config --global user.name “hxxxe”
git config --global user.email "hxxxehxx@163.com

这一步的做用的用来区分不一样的用户,咱们可使用git config --list指令来查看咱们配置的结果:

 3.咱们要使用git克隆coding上的代码或者上传本地代码,因为许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,咱们要生成一份SSH 公钥。 先确认本身是否已经拥有密钥,若是没有就在本地使用git生成一个公钥,再把这个公钥添加到coding的SSH公钥就能够了。

(1)在git命令窗口输入指令:cd  ~/.ssh 检查电脑中是否有ssh key存在

若是存在,则会显示以下,id_dsa 或 id_rsa 命名的文件,其中一个带有 .pub 扩展名。 .pub 文件是你的公钥,另外一个则是私钥。 若是找不到这样的文件(或者根本没有 .ssh 目录):

(2)若是不存在,输入指定:$ ssh-keygen 来生成公钥:

首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),而后它会要求你输入两次密钥口令。若是你不想在使用密钥时输入口令,将其留空便可。最后会生成文件在指定位置。

(3)生成ssh公钥后复制 .pub 文件内容,添加到coding就会有权限了。 公钥形式相似以下:

 

4、git的使用

咱们会使用到的git基本指令有这么几句:

一、克隆
  clone已有仓库
  git clone git@github.com:XXX/yyyy.git //XXX为github的用户名,yyy为仓库名

二、提交

       git pull //拉取最新代码
  git add mmm.sss //mmm为文件名称,sss为文件拓展名(经常使用git add .)
  git commit -m "hhh" //hhh为git commit 提交信息,是对这个提交的概述

  git push //更新GitHub上的仓库

三、查看提交日志

        git log 

四、更改提交的操做

  git reset //回溯历史版本

  git reset --hard //回溯到指定状态,只要提供目标时间点的哈希值

  git reset --hrad ddd //ddd为要推动历史的哈希值

 

咱们不经常使用的git指令

一、用git建立仓库

  mkdir nnn //仓库名

  cd hhh

  git init //初始化仓库

  git status //查看仓库状态

  touch README.md //建立READEME.md文件

  git add ERADME.md //添加ERADME.md至暂存区

  git commit -m "hhh" //若是想要提交信息记录的更详细,请不要加 -m

  git log --pretty=short //加--pretty=short 只显示提交信息的第一行

  git log ggg //ggg是指指定的文件或目录,用于查看指定的目录、文件的日志

  git log -p //查看提交所带来的改动

  git log -p ggg //查看指定文件的改动

  git diff //能够查看工做树,暂存区,最新提交之间的差异

  git diff HEAD //查看工做树与最新提交的差异

二、分支操做

  git branch //显示分支一览表,同时确认当前所在的分支

  git checkout -b aaa //建立名为aaa的分支,而且切换到aaa分支
  (git branch aaa //建立名为aaa的分支
  git checkout aaa // 切换到aaa分支
  )能和git branch -b aaa 获得一样的效果

  git checkout - //切换到上一分支

三、合并分支

  git checkout master //切换到master分支

  git merge --no--ff aaa // 加--no--ff 参数能够在历史记录中明确地记录本次分支的合并

  git log --graph //以图表形式查看分支

 

四、推动历史

  git reflog //查看仓库的操做日志,找到要推历史的哈希值

  git checkout master

 

五、修改提交信息 git commit --amend

  压缩历史 git rebase -i 错字漏字等失误称做typo

  根据之前的步骤在GitHub上建立仓库,应于本地的仓库名相同 GitHub上面建立的仓库的路径为git@github.com: 用户名/仓库名.git

  git remote add eee git@github.com: 用户名/仓库名.git //添加远程仓库,并将git@github.com: 用户名/仓库名.git远程仓库的名称改成eee

  git push -u eee master //推送至远程仓库 master分支下 -u 参数能够在推送的同时,将eee仓库的master分支设置为本地仓库的当前分支的的upstream(上游)。添加这个参数,未来运行git pull命令从远程仓库获取内容时,本地仓库的这个分支就能够直接从eee的master分支中获取内容

  git checkout -b feature d eee/feature d //获取远程的feature d分支到本地仓库,-b参数后面是本地仓库中新建的仓库的名称

  git pull eee feature d //将本地的feature d分支更新为最新状态

  在GitHub上面查看两个分支之间的差异,只须要在地址栏中输入http://github.com/用户名/仓库名/分支1...分支2

六、查看master分支在最近七天内的差异
  http://github.com/用户名/仓库名/master@{7.day.ago}...master (一样,day,week,month,year都是能够哒)

七、查看与指定日期之间的差异
  http://github.com/用户名/仓库名/master@{xxxx-xx-xx}...master (xxxx-xx-xx表明年月日)

 

  到这里,git相关的命令不少,你们能够根据操做时的须要去具体学习。

相关文章
相关标签/搜索