git-基础操做

git init 初始化目录

git  add 将文件添加到缓存区

git commit -m 从缓存提交到版本库

git status  查看当前版本的状态

git log  从当前位置以前查看提交记录

git reflog 查看提交记录

git reset --hard zhi  回滚到指定的版本

git checkout -- filename  撤销

git branch dev  建立分支

git checkout dev 切换分支

git checkout -b dev 建立并切换分支

git branch -d dev 删除分支

git  merge dev 合并分支

git branch 查看分支

git diff 工做区和缓存区的文件对比

git diff --cached  缓存区和版本库之间的文件的对比

git reset HEAD  从缓存区将文件拉出来

git stash 

git stash list  查看stash的列表

git stash pop 恢复当前的stash状态并删除

git stash apply 恢复当前的状态

git stash drop  删除stash
View Code

 

 

1、Git简介

  Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到很是大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。Git 是根据GNU通用公共许可证版本2的条款分发的自由/免费软件,官网:http://git-scm.com/。html

  Git是目前世界上最早进的分布式版本控制系统(没有之一)。python

  GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)。linux

  Git自己彻底能够作到版本控制,但其全部内容以及版本记录只能保存在本机,若是想要将文件内容以及版本记录同时保存在远程,则须要结合GitHub来使用。使用场景:git

    - 无GitHub:在本地 .git 文件夹内维护历时文件;github

    - 有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历史文件托管在远程仓库;vim

  集中式和分布式:缓存

    - 集中式:远程服务器保存全部版本,用户客户端有某个版本bash

    - 分布式:远程服务器保存全部版本,用户客户端有全部版本服务器

一、安装Git

  Git下载地址:https://git-scm.com/downloadsapp

  1)下载安装包,以下图:

  2)双击安装应用程序,如下是安装过程当中须要注意的几步:

  3)点击下一步,以下图:

  4)点击下一步,以下图:  

  5)点击下一步,以下图:

  6)点击下一步,以下图:

  7)点击下一步,以下图:

  8)点击安装,以下图:

  9)安装完成后,“开始”菜单会新增一个Git文件夹,以下图:

  10)点击“Git Bash”(Git Bash是一个黑屏终端,仿linux的窗口,可以使用linux命令),以下图:

2、配置Git

一、配置Git用户名和邮箱

  打开Git Bash终端,按照以下命令配置用户名和邮箱,注意,没有提示表示配置成功。

  配置用户名:$ git config --global user.name "你本身GitHub的用户名"

  配置邮箱:$ git config --global user.email "你本身GitHub的邮箱"

二、时光穿梭机(建立本地版本库,并使用命令管理版本)

  什么是版本库?

  版本库又名仓库,能够理解成一个目录,这个目录里面的全部文件均可以被Git管理起来,每一个文件的修改、删除,Git都能跟踪,以便任什么时候刻都有一个追踪历史,或者在未来某个时刻能够还原。

  建立版本库并使用命令管理版本:

  1)在一个合适的地方建立一个空目录,好比wllgit;

  2)在终端中使用cd命令进入刚建立的空目录(将文件夹拖入终端可快速输入文件夹目录),以下:

  3)使用git init命令把这个目录变成Git能够管理的仓库

  4)把文件添加到版本库(本地仓库)

    在上面建立的目录中建立一个文件(如demo.py),内容为print("hello world!")

    把文件添加到仓库,命令为:$ git add domo.py

    把文件提交到仓库,命令为:$ git commit -m "这里写注释"

    至此,咱们已经在电脑上建好了本地仓库wllgit目录,接下来学习如何使用仓库管理版本。

  5)git status

    该命令可让咱们时刻掌握仓库当前状态,以下图:

  6)git diff
    该命令能够查看修改内容,以下图:

    当本地和仓库文件内容不一致时,将文件再次提交便可,以下图:

 

  7)git log或者git log --pretty=oneline(显示从最近到最远的提交日志)

    以上步骤主要是将不一样版本文件提交到仓库,而且记录每次提交日志,接下来学习如何回退到以前的版本。

  8)版本回退

1
2
3
4
$ git reset  - - hard HEAD^
$ git reset  - - hard HEAD^^
$ git reset  - - hard HEAD~ 100
$ git reset  - - hard 具体版本号

    HEAD至关于一个指针,指向当前版本,以下图:

  9)git reflog

    该命令记录每一次的命令,以下图:

  10)git checkout -- filename

    若是文件filename已经被放到暂存区(执行git add filename,但未执行commit)后,又作了修改,此时,执行此撤销命令,就会回到添加至暂存区的状态。
    若是文件filename自修改后尚未被放到暂存区(执行git add filename),此时,执行此撤销命令,就会回到和版本库如出一辙的状态。

    总之,该命令就是让文件filename回到最后一次git add或这git commit时的状态。

  11)掌握了上述管理仓库的操做,下面来了解相关概念,即工做区和版本库。

    Git把管理的文件分为了两个区域四个状态,以下图:

    工做区:当前开发程序所在目录称为工做区,即:工做开发都是在该目录,该区域的文件会有状态的变化且状态由git自动检测,若是程序中文件作任何操做(增、删、改),文件状态均会被检测到,可使用【git status】命令查看。

    版本库:工做区检测到有文件发生变化,那么意味着较上一个版本以后对程序进行了修改,修改完成以后,能够当作下一版本进行提交,那么就是执行【git add .】 将全部文件提交到暂存区,而后再执行【git commit -m '又一个版本'】提交到版本库的分支便可,以后可使用【git log】命令查看版本记录。

3、远程仓库

  GitHub是一个基于Git实现的代码托管的平台,能够将内容以及版本记录在远程也保存一份,这样就不用U盘来回拷了。PS: 相似GitHub的产品还有许多,如:GitLab、Bitbucket、码云等。

  简而言之,就是将咱们的代码放在GitHub的服务器上,这样,不论在哪里,只要有网,就能够将远程仓库(GitHub上)的代码拉取下来,写完代码再同步上去。接下来介绍如何配置远程仓库。

一、配置基于GitHub实现代码托管的步骤

  1)注册GitHub

  2)建立ssh key

    打开Git bash黑屏终端,输入命令 ssh-keygen -t rsa -C "GitHub中绑定的邮箱"

    查看公钥内容,以下图:

    在GitHub(我的中心 -> Settings ->SSH and GPG keys)中添加公有密钥,以下图:

    填写完成后以下图:

    测试密钥是否经过,在Git Bash的黑终端输入命令  ssh -T git@github.com

    测试经过后,再看github中的ssh是绿色钥匙,以下图:

  3)建立远程仓库

    点击新建仓库按钮,以下图:

    填写仓库信息,以下图:

 

    建立完成后以下图:

  4)使电脑关联远程仓库

    复制GitHub中的SSH地址,以下图:

    在电脑的Git Bash终端输入命令 git remote add origin  远程仓库SSH地址

    删除关联命令(知道便可,此处没必要执行)是 git remote rm origin

    推送本地库内容到远程库命令 git push origin master

    拉取远程库内容到本地库命令 git pull origin master

    注意:由于本篇先是创建了本地库wllgit目录,而且使用git init命令产生了.git文件,而后又将此本地库关联了远程仓库,所以,本库库和远程仓库是两个版本,所以要先执行拉取远程库的命令,且加上容许版本不一致的参数,即 git pull origin master  --allow-unrelated-histories

    注意,执行命令后会进入一个vim的模式,使用你掌握的linux命令退出编辑便可!

    执行成功后,本地仓库会多了一个README.md文件,以下:

    拉取完成后再执行推送的命令,以下:

    执行命令后,远程仓库中就与本地仓库文件一致,以下:

    此时,你就能够在电脑上对文件进行修改,而后再执行如下命令推送到远程仓库:

1
2
3
git add filename                     将修改文件添加到暂存区
git commit  - "修改内容注释"          将暂存区内容提交到本地仓库
git push origin master              将本地仓库内容推送到远程仓库

  5)实际开发中使用Git的步骤

    上面创建本地仓库,使用git init只是为了演示本地仓库配置,实际开发中,是应该先有远程仓库,再把远程仓库克隆到本地,克隆时就会自动生成管理本地仓库的隐藏文件.git。

    假设已经在GitHub上创建是远程仓库,如今电脑上没有本地仓库,咱们须要将远程仓库内容克隆到本地,进入到合适的目录执行克隆命令  git clone  远程仓库SSH地址 

    命令执行后,会在当前执行命令的目录下产生一个文件夹,其中包含远程仓库的文件内容,且还有一个隐藏文件.git,以下图:

    此时,你就能够在电脑上对文件进行修改,而后再执行如下命令推送到远程仓库:

1
2
3
git add filename                     将修改文件添加到暂存区
git commit  - "修改内容注释"          将暂存区内容提交到本地仓库
git push origin master              将本地仓库内容推送到远程仓库

    注意:若是项目中有.gitignore文件时,.gitignore文件中定义的文件夹不会被推送到远程仓库中。

 

 

 


很是好的参考

王丽丽

相关文章
相关标签/搜索