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

    Git 学习笔记

    1. 创建版本库
        
        a. 初始化一个仓库: git init
    
        b. 添加文件到 Git 仓库
           . 第一步: git add <file> 
           . 第二部: git commit -m "描述"
    
        c. 其它命令:
           . 新建目录: mkdir <文件夹名字>
           . 查看隐藏目录: ls -ah
           . 显示当前路径名:  pwd
    
    
    
    2. 时光机穿梭
    
       . 随时掌握工作区的状态: git status
       . 查看文件的修改内容: git diff
    
           a. 版本回退
               . 查看提交的历史, 以便退回到任意版本: git log
               . 重返未来终极命令(我喜欢): git reflog
               . HEAD指向当前版本,上一个版本为HEAD^, 以此类推HEAD^^...; 有个简写HEAD~100
               . 版本穿梭: git reset --hard commitid/(HEAD^)/(HEAD~数字)  (commitid可以通过 git log 或者 git reflog来获取)   
               
    
           b. 工作区和暂存区
                . 主要是理论:
                   文件往Git版本库里添加的时候,是分两步执行的:
                     第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
                     第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
                     因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
                     可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
    
           c. 管理修改
                . Git是如何跟踪修改的:
                      每次修改,如果不add到暂存区,那就不会加入到commit中。
                . 命令 git diff HEAD -- <file> :
                      可以查看工作区和版本库里面最新版本的区别。
    
           d. 撤销修改
                . 命令 git checkout -- <file>:(场景1)
                      当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时。
                . 命令 git reset HEAD <file>:(场景2)
                      当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,
                      分两步,第一步用 git reset HEAD <file>,就回到了场景1,
                              第二步用 git checkout -- <file>。
                . 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考 a版本回退 一节,不过前提是没有推送到远程库。
    
           e. 删除文件
                . 命令 git rm:
                    用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,
                    但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
                    然后 git commit -m "描述"
                c. 其它命令:
                      rm <file>:
                        在工作区移除某个文件
    
    
    3. 远程仓库
         
        .第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有
                id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),
                创建SSH Key:
                    $ ssh-keygen -t rsa -C "1356988206@qq.com"
                之后一路回车即可。
    
        .第2步:登陆 GitHub,打开 Account settings,添加 SSH Keys 即可。
        
        ps: 为什么GitHub需要SSH Key呢?
                因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,
                所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
            当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,
            只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。  
    
    
          a. 添加远程库
               . 本地 git 仓库关联一个远程库, 使用命令:
                   git remote add origin <地址 https://github.com/SorrowX/learngit.git> 
    
               . 关联后推送 master 分支的所有内容(也只有第一次使用这个命令), 使用命令:
                   git push -u origin master
    
               . 每次本地提交后,只要有必要,就可以使用命令:
                   git push origin master    推送最新修改
    
               ps: 使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令。    
    
    
          b. 从远程库克隆
    
               . 要克隆一个仓库,首先必须知道仓库的地址, 然后使用命令:
                    git clone <地址 git@github.com:SorrowX/learngit2.git>
    
    
    
    
    
        
    开心的做一个无忧无虑的码农,争取每天进步一点。
  • 相关阅读:
    HDU 2888 Check Corners (模板题)【二维RMQ】
    POJ 3264 Balanced Lineup(模板题)【RMQ】
    poj 3368 Frequent values(经典)【RMQ】
    SPOJ RPLN (模板题)(ST算法)【RMQ】
    UVA 796 Critical Links(模板题)(无向图求桥)
    UVA 315 Network (模板题)(无向图求割点)
    POJ 2029 Get Many Persimmon Trees (模板题)【二维树状数组】
    poj 3067 Japan 【树状数组】
    POJ 2481 Cows 【树状数组】
    POJ 1195 Mobile phones【二维树状数组】
  • 原文地址:https://www.cnblogs.com/sorrowx/p/6508152.html
Copyright © 2011-2022 走看看