zoukankan      html  css  js  c++  java
  • Github命令详解

    Git bash:

    ***创建本地版本库:

    $ cd d:

    $ mkdir git

    $ cd git

    $ mkdir test

    $ git init   //初始化本地库

    ***创建文件并添加到版本库

    1. 用除了记事本以外的文本编辑工具新建readme.txt, 保存成UTF8 without BOM

    2. git add readme.txt   //文件添加到仓库

    3. git commit -m "add readme.txt file"   //-m就相当于加label, 将文件提交到仓库

    可以add几个文件后, 统一commit到版本库

    ***查看提交状态(未add)

    1. vi readme.txt   //修改内容

    2. git status //查看状态

    3. git diff readme.txt  //查看修改细节

    ***版本回退

    1. 修改文件并且已经add,commit的情况

        * 还未关机: 

        $ git log --pretty=oneline    //查看所有的commit id,注意版本号前7位
           3628164fb26d48395383f8f31179f24e0882e1e0 append GPL
           ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed
           cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file

        $ git reset --hard HEAD^  //回到上一个版本    HEAD^可以替换成上面commit id的前7位

        后悔了, 还想回到最新版本

        $ git reset --hard 3628164

        *已关机无法查看commit id时:

         $ git reflog

    ***工作区和暂存区stage

    $ git add readme.txt

    $ git add LICENCE.txt

    git add实际把提交的修改放到暂存区stage

    git commit后

    commit是把暂存区的内容放入版本库, 也就是说, 如果不执行add, 那么将不会被提交到版本库

    ***撤销修改:

    不管在哪里修改, 包括工作区,stage, 如果想放弃当前修改都用

        $ git checkout -- readme.txt     // 不管当前状态做过多少次修改,都回到最原始

    也就是说恢复到最近一次add或commit的状态

    所以分几种情况:

    1. 在工作区的修改, 想撤销就直接

    $ git checkout -- readme.txt

    2. 工作区修改后, 已经add到stage的情况,需要把暂存区的修改恢复回工作区,再checkout

      $ git reset HEAD readme.txt   //相当于从版本库里拽最新版本回stage

      $ git checkout -- readme.txt

    3. 工作区修改add到stage后commit到版本库master的情况, 需要先恢复版本库版本到上一个版本, 再从stage拽过来版本库里的版本,再在工作区进行checkout

      $ git reset --hard HEAD^   // 版本库恢复 上一个版本

      $ git reset HEAD readme.txt  //stage恢复到和版本库一个版本

      $ git checkout -- readme.txt //工作区恢复修改前状态

    ***删除文件

    如果在资源管理器里已经删除了某个文件, 或者用bash命令删除了个文件

    $ rm test.txt

    $ git status   //查看状态

    1. 彻底删除文件

        $ git rm test.txt

        $ git commit -m "remove test.txt"

    2. 如果想反悔:

        $ git  checkout -- test.txt   //用版本库里的版本代替工作区的版本, 无论工作区是修改还是删除, 都可以一键还原

    ***创建远程仓库

    1. 创建SSH Key, 会在users目录里创建.ssh文件夹,里面有id_rsa私钥文件和id_rsa.pub公钥文件:

        $ ssh-keygen -t rsa -C "email@163.com"

    2. 登录远程github网站--settings->SSH里添加公钥内容

    3. 创建远程仓库 New->repository

    4. 关联本地仓库和远程仓库

        $ git remote add origin git@github.com:swportal/swportal.git   //第一个swportal是github账户名, 第二个是repository名

    5. 查看远程仓库

       $ git remote -v

    6. 将本地仓库所有内容push到远程仓库   

        $ git push -u origin master

        第一次推送时加-u, 以后再推送就直接 

       $ git push  origin master

    ***克隆远程库

    1. 先在github创建一个新的仓库,同时勾选创建个README文件

    2. 开始克隆出一个本地库

        $ cd d:git

        $ git clone git@github.com:swportal/clonegit.git  //本地就有个仓库, 添加一个文件a.txt

        $ git add a.txt

       为了避免commit时 有出错信息显示please tell me who you are

        $ git config  user.email "c.wuliying@samsung.com"

        $ git commit -m "create a.txt"

       

        创建远程库连接并push代码

        $ git remote -v            查看远程origin库存在与否
        $ git push -u origin master

     
  • 相关阅读:
    React 不暴露webpack配置的情况下,修改webpack配置
    Array的一些方法
    ES 6 学习
    位运算解决“一个数组中,只有一个数字出现n次,其他数字出现k次”问题
    句子反转——牛客刷题(java)
    数串——牛客刷题
    链表分割——牛客剑指offer
    合并两个排序链表——牛客offer
    复杂链表的复制——牛客offer
    两个链表的第一个公共结点——牛客offer
  • 原文地址:https://www.cnblogs.com/wujixing/p/6186588.html
Copyright © 2011-2022 走看看