git伊始

作者: 前端伊始 | 来源:发表于2018-03-22 22:47 被阅读0次

1. 分布式版本控制系统Git取代了SVN集中式版本控制系统

所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。

git常用命令

  • mkdir xx
  • cd xx
  • git init //空仓,把这个目录变为git可以管理的仓库
  • pwd //查看当前路径
  • ls -ah
  • touch readme.txt //通过touch命令创建文件
  • git rm ** //删除文件

git将本地修改或者新增文件提交到远端git仓库

  • git add readme.txt //把文件添加到暂存区
  • git commit -m "说明" //把暂存区的内容提交到当前分支
  • git push //一般工作时候,在push之前会先pull一下

查看

  • git status //一般在add和commit命令之间使用一下,用于查看仓库状态
  • git diff xx //查看本地文件和仓库文件不同
  • git log //显示提交日志
  • git reflog //记录你的每一次命令
  • git cat-xx //

版本回退
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD^,当然往上100个版本写成HEAD~100。

  • git reset --hard HEAD^ //表示回退到上一个版本
  • git reset --hard commit-id //表示回到某个版本

工作区, git版本库, 暂存区(stage), 分支(master)
工作区有一个隐藏的目录.git,这个不属于工作区,它只是一个版本库,里面存放了很多东西,其中最重要的就是stage(暂存区)

切换与创建分支

  • git branch dev //创建一个dev分支
  • git checkout dev //切换到dev分支
  • git checkout -b dev //创建并切换到dev分支,这一步可以代替上面两步
  • git branch //查看分支,还有git branch -a ; git branch -r

远程仓库

前言:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。
最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,下面介绍如何生成一个本地ssh密钥,并添加到自己的github账户

  • 添加ssh key
$ ssh-keygen -t rsa -C "youremail@example.com"  %此命令用于生成一个密钥,将生成的id_rsa.pub 文件中的内容复制到自己的github账户
  • 接下来演示如何将一个本地项目传到git上
    第一,在github服务器上new repository,创建一个git远程仓库
    第二,本地刚好有一个想要传到git上的项目
    第三,直接cd到该项目的根目录,按照下面代码依次执行便可
git init
git remote add origin 你的远端仓库地址 
git add .   //添加当前目录下的所有文件
git commit -m"程序源代码"
git push -u origin master  //关联后,使用该命令将所有的内容推送到远端

  • 现在,我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。
git clone 项目地址  //要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

工作后遇见的问题:

    1. git pull 是在git add之后好呢还是在git commit 之后好呢?
    1. 有三个commit是在release分支提交的,现在要切换到dev分支继续开发,所以要把这三个提交merge到dev:
      切换到dev分支用 git cherry-pick 版本号 然后git push 这样就可以捡着合并其他分支的代码 了
    1. merge dev 分支的代码到release
git checkout release
git pull
git merge origin/dev
git commit -m''
git push
    1. 如何暂存正在编写的代码,去pull远程代码
git stash
git pull
git stash pop
git stash list
git stash clear
git stash drop
git reset -hard //遇见合并过来的有冲突的代码,不想要了,,,直接回退到线上最新分支
git log  //记住这个是查看提交(commit)历史
    1. 刚commit上去了错误的代码,不想push了,根据是否想保留本地编辑的代码做以下两种选择
git reset --hard //此操作可以清除刚commit的记录,但是也会删除本地改动的代码
git reset --sort // 此操作可以清除刚commit的记录,并且保留改动的代码

相关文章

  • git伊始

    1. 分布式版本控制系统Git取代了SVN集中式版本控制系统 所有的版本控制系统,其实只能跟踪文本文件的改动,比如...

  • 伊始

    2018年3月3日,这对我来说是个很重要是日子,我在这一天换了个手机号码,换了个微信,当然还有简书,目的也理所当然...

  • 伊始

    这是我第一次来到简书,不知道写什么,胡诌几片文字,博众君子一笑 爽朗利索的清晨,鸟鸣深深,后花园里一株月季昂昂俏丽...

  • 伊始

    皙白纤细的手指轻柔的抚摸着花叶,陷入了沉思。 “明天就是毕业典礼了,明轩哥哥你会回来吗?”喃喃自语。 脑海里那个穿...

  • 伊始

    每个梦想都是值得肯定 每个梦碎的情形都让人难过 我不知道真假对错 让一切犹如烟云 都过去吧 一切都会好起来的 放下...

  • 伊始

    照片上可能看不出来,此时整个空间都是黄色的,不同于金色的阳光照在物体上。 顺着最长的那条,我看到了,拍下了。 不知...

  • 伊始

    风吹着灯 仿佛等待的幸福 黑夜空寂尾声 伊始路上的黎明 曾经岁月 扭捏心声的影 痕迹的薄冰 一条路延伸 破茧温度 ...

  • 伊始

    “张华,你干屁呀!动我的女人,想死是吗?!” 他一把扶起被张华一个后旋踢误伤的我,可惜这一脚厉害的紧,我身体还没站...

  • 伊始

    不知道你是否有这样的担忧,自己会废掉? 这种惶恐正在摧残我的内心,更令我煎熬的是这并非杞人忧天。当我发现自己想表达...

  • 伊始

    想寻找一个清净的空间,抒发自己每一次思想的不堪、自满、挣扎与愉悦。不习惯把自己的点点滴滴暴露在公众平台,又希望有一...

网友评论

      本文标题:git伊始

      本文链接:https://www.haomeiwen.com/subject/wewzqftx.html