zoukankan      html  css  js  c++  java
  • 学习笔记——git

    恩没错,又是个新东西

    图文详解Windows下安装最新版Git_百度经验  http://jingyan.baidu.com/article/020278117cbe921bcc9ce51c.html

    使用Git提交文件到版本库有两步:

      第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。

      第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

    1,工作区

    工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

    2,版本库

    版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库,又名仓库,英文名repository。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

    你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

    所以创建一个版本库也非常简单,如下E盘 –> demo下 目录下新建一个testgit文件夹,通过命令“git init”把这个文件夹变成git可以管理的仓库,即版本库。

    这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

    首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

    --------------------------------------------------------------------------------

    先看看C:UsersUser.ssh中是否有

    将id_rsa.pub中的内容复制到“公钥”中

    若无:

    先选定地址:e:/demo

    在e盘demo文件夹下新建文件gitkey

    1,为你的项目添加公钥

    注意大小写ssh-keygen.exe -C"邮箱地址" -t rsa

    输入希望保存的路径以及文件名

    passphrase表示对应oschina的密码(???这个好像不是oschina的登录密码)

    我输入了123456,并不是在oschina.net的登录密码,我猜这个应该只是公钥的密码吧

    这样在e盘demo文件夹下就会有两个文件:

    gitkey、gitkey.pub,为了方便管理,在d盘下创建一个文件夹为testgitkey,把gitkey、gitkey.pub放到里面

    打开gitkey.pub,全选里面的内容,填入公钥中 

     这个公钥的标题不知道有没有什么讲究的

    2,测试使用

    点击HTTPS,点击后面的复制符号

    如果是本地的代码要放到git上:
    git remote add origin https://.....git 关联一个远程库

    git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

    如果是将git上的项目拉下来到本地:

    先选择目的路径,执行命令git clone https://.....git(这边把刚刚复制的项目地址粘贴进来)

    再切进项目去,后面有个(master)之类的就对了,就可以愉快地玩耍了

    但是要提交到远程服务器中,除了add、commit,还需要执行命令git push origin master(分支名)

    把当前分支代码上传到master分支上: git push -u origin master

    出现错误error: failed to push some refs to ...

    出现错误的主要原因是github中的README.md文件不在本地代码目录中

    可以通过如下命令进行代码合并【注:pull=fetch+merge]

    git pull --rebase origin master

    在项目页面中,刷新之后,就可以查看到刚刚更新的内容 

    参考文章:使用oschina的git服务器

    现在还有checkout的还没理清楚

    -----------------------------------------------

    新建文件后,做你想做的操作

    1.执行命令git add xx.txt,添加到暂存区中,此时,没有消息就是好消息[wink]

    2.执行命令git commit -m "这是你的注释信息"t,把文件提交到仓库。

    3.查看文件状态,执行命令git status,可以查看哪些修改了,哪些未提交。提交修改过的文件和提交新的文件是一样的,第一步是git add;第二步是:git commit。

    4.日志查看,执行命令git log能看到历史版本号与提交人,提交时间,提交的注释信息

    执行命令git log --pretty=oneline看到的信息较为简洁,有版本号与注释信息

    5.版本号查看,执行命令git reflog,获得版本号(从此处可知道,注释信息的重要性)

    6.文件内容查看,执行命令cat xx.txt

    7.退回操作,执行命令git reset --hard HEAD^,返回上一个版本

    执行命令git reset --hard HEAD~1,返回前面一个版本,数值自定。

    8.退回退回前的版本,比如现在是第50个版本,我退回到了第20个版本,现在想退回第50个版本:

    执行命令git reset  --hard 版本号

    9.未提交commit的情况下撤销修改。因为可能刚刚提交了好几个新的文件,如果使用git reset --hard HEAD^这个会直接删除掉新添加的文件,所以不可取。

    执行命令git checkout -- xx.txt丢弃工作区该文件的修改(仅一次,相当于Ctrl+Z的赶脚)。但是情况是:要么是修改后还没add,要么是add了又修改了,但是没有又add。

    注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了

    恩对,下图是盗的,解释得特别详细特别好就用来解惑啦/鼓掌/鞠躬

    10.commit提交了的文件,此时已经存在于版本库中,删除文件,执行命令git rm xx.txt(=在目录下按delete键)。rm应该是remove的缩写

    此时的rm操作和新建文件操作是一样的,都只是在当前目录下的操作,并没有影响到什么。

    如果想在版本库中也添加/删除此文件的话,要先执行add命令,再执行commit命令。

    如果是误删了,在未add之前,可以从版本库中恢复刚刚被删除的工作区的文件,执行命令git checkout -- xx.txt(--可省略?)

    11.分支操作

    git branch  查看当前所有的分支

    git branch name  创建分支

    git checkout –b dev  创建dev分支 并切换到dev分支上

    git checkout master 切换回master分支

    git merge dev  在当前的分支上合并dev分支

    git branch –d dev 删除dev分支

    参考文章:Git使用教程

    --------------------git客户端--------------------------

    创建版本库即git init命令,产生.git隐藏文件夹

     两个版本右键菜单有出入

    参考文章:Git客户端TortoiseGit(Windows系统)的使用方法

  • 相关阅读:
    GORM模型(Model)创建
    GORM高级查询
    LogAgent
    安装kafka
    go读取日志tailf
    bubble清单
    go操作kafka
    GORM模型删除
    Vue 父子组件间的传值
    列表和表格
  • 原文地址:https://www.cnblogs.com/yumeixin/p/5478190.html
Copyright © 2011-2022 走看看