• Git基本使用


    1、安装git  执行

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

    2、创建git库,最好是在空目录中

    3、在空目录中执行git init 命令,即在该目录初始化了一个git仓库,使用 ls -ah 可以查看到目录下隐藏的.git文件

    4、在git仓库中操作文件,如新增一个文件1.txt ,文件中输入内容, 此时在git目录中执行 git statue 命令,即可查看该仓库下文件的状态(已更新?  修改待提交? 新增待提交?)

    5、git 上传至仓库,一共分两步,  1是add  2是commid    git add 1.txt   git commid -m “此次提交的内容介绍,方便以后自己或其他人查看”

    git所在目录属于工作区,  执行完add的文件会放到版本库的暂存区,  git commit 之后文件才会被提交到分支(默认master)

    git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别:

    git add 后面可以跟多个文件;  

    6、查看完仓库中文件的状态后,发现有带待提交的文件时,  如果忘记了自己做过什么,可以查看有哪些代替交的内容  使用 git diffrent

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git diff

    diff --git a/LearnDemo/readMe.txt b/LearnDemo/readMe.txt

    index 15ba924..00014e9 100644

    --- a/LearnDemo/readMe.txt

    +++ b/LearnDemo/readMe.txt

    @@ -1,5 +1,4 @@

     today

     is

    -not

     a

     beautifulday

    7、学会了使用git提交新建的代码,提交修改的内容,那么提交的次数过多后,如何回滚,回滚时如何选择版本

    使用git log  查看提交记录

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git log

    commit 5897448c4d24009e043a9129168c2d65c990431e (HEAD -> master)

    Author: wangjianqing <1026164853@qq.com>

    Date:   Tue Jul 23 18:51:22 2019 +0800

     

        second upload git

     

    commit 910b43d7de6ff44c1f5d709baca056a5d32b6404

    Author: wangjianqing <1026164853@qq.com>

    Date:   Tue Jul 23 17:37:36 2019 +0800

     

        first upload git

    如果查看时输出的内容过多,可以考虑后面追加 --pretty=oneline  如下:

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git log --pretty=oneline

    5897448c4d24009e043a9129168c2d65c990431e (HEAD -> master) second upload git

    910b43d7de6ff44c1f5d709baca056a5d32b6404 first upload git

    commid id  是git每生成一个版本就会自动生成一条时间线;  git的当前版本用 HEAD表示;

    如果要回滚到之前的某个版本. 比如当前版本之前的一个版本   那就是  git  HEAD^;  再次查看当前版本时就会展示当前版HEAD 为first upload git

    910b43d7de6ff44c1f5d709baca056a5d32b6404 first upload git

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git reset --hard HEAD^

    HEAD is now at 910b43d first upload git

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git log --pretty=oneline

    910b43d7de6ff44c1f5d709baca056a5d32b6404 (HEAD -> master) first upload git

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ 

    如果要再次回到回滚之前的版本; 可以选择两种方法: 1是找到回滚之前的commit id   使用git reset  --hard id

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git reset --hard 5897448c4d24009e043a9129168c2d65c990431e

    HEAD is now at 5897448 second upload git

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git log --pretty=oneline

    5897448c4d24009e043a9129168c2d65c990431e (HEAD -> master) second upload git

    910b43d7de6ff44c1f5d709baca056a5d32b6404 first upload git

    如果找不到回滚之前的commit id 值的话 ,可以先使用git reflog查看命令操作历史,然后再滚回来

    wangjianqingdeMacBook-Air:LearnDemo wangjianqing$ git reflog

    5897448 (HEAD -> master) HEAD@{0}: reset: moving to 5897448c4d24009e043a9129168c2d65c990431e

    910b43d HEAD@{1}: reset: moving to HEAD^

    5897448 (HEAD -> master) HEAD@{2}: commit: second upload git

    910b43d HEAD@{3}: commit (initial): first upload git

    8、$ git checkout -- readme.txt 意思是把工作区的修改撤销掉 注意:如果不加--  git checkout file 会将版本切换成心得分支

      git reset HEAD <file>  意思是把暂存区的修改撤销掉

    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。可以先撤销暂存区的修改   再撤销工作区的修改,这样就干净了

    总之,就是让这个文件回到最近一次git commitgit add时的状态。

    9、要删除某个文件  如果已经提交到仓库,首先再本地删除,然后在仓库中国删除

    $ rm test.txt  删除本地的文件
    

      git rm删掉,并且git commit  再把仓库中的文件删除

     $ git checkout -- test.txt  如果发现删除错了  可以从仓库中在回复过来

    10、在用户主目录中,打开.ssh隐藏文件,  如果没有这个文件  需要自己创建一个:$ ssh-keygen -t rsa -C "youremail@example.com"

    登陆GitHub,打开“Account settings”,“SSH Keys”页面:

    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

    如果有多台电脑需要提交到仓库,那么就需要把多个对应的key粘贴到github, 方便它识别是自己人.

    wangjianqingdeMacBook-Air:~ wangjianqing$ cd .ssh

    wangjianqingdeMacBook-Air:.ssh wangjianqing$ ls

    id_rsa known_hosts ls -l.pub

    id_rsa.pub ls -l reports

     

  • 相关阅读:
    冲刺第五天个人博客
    冲刺第四天个人博客
    典型用户及场景
    冲刺第三天个人博客
    冲刺第二天个人博客
    冲刺第一天个人博客
    第三周学习进度表
    第二周学习进度表
    webServices
    vs开发工具使用问题
  • 原文地址:https://www.cnblogs.com/1026164853qqcom/p/11234059.html
Copyright © 2020-2023  润新知