zoukankan      html  css  js  c++  java
  • 浅谈GIT

    一. 概述

    版本控制器,Git是目前世界上最先进的分布式版本控制系统(没有之一)

    二.基本使用

    1.创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录
    $ mkdir mygitdir
    $ cd mygitdir
    $ pwd
    /Users/michael/mygitdir
    2.初始化仓储
    $ git init
    瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
    
    如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。
    3.添加文件
    $ git add readme.txt    放入暂存区
    $ git add . 当前所有操作提交至暂放区 $ git commit
    -m "wrote a readme file" 提交至仓储 ,引号代表此处修改的注释 添加文件到Git仓库,分两步: 1.使用命令git add <file>,注意,可反复多次使用,添加多个文件; 2.使用命令git commit -m <message>,完成。 4.状态 $ git status 命令可以让我们时刻掌握仓库当前的状态 $ git diff 查看修改前与修改后的不同different 5.回滚 HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。 6. 删除 $ rm test.txt

    三 .连接git

    1.$ ssh-keygen -t rsa -C "youremail@example.com"
    你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
    如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
    /c/Users/Administrator/.ssh/id_rsa     私钥
    /c/Users/Administrator/.ssh/id_rsa.pub    公钥

    四.推送

    git remote add origin git@your         提交的代码至你的github   
    git push -u origin master                    push(推送)
    get pull # 拉去远程库并同步

    错误处理
    ![rejected]  master->master(fetch first)           
    error:failed to push some refs to 'https://github.com/xxx/xxx.git'
    最后执行git pull,然后再执行push就可以了
    原因是:刚才在网站上改了README.md文件,添加了一些项目的说明,然后使用Git客户端再次提交的时候,需要先更新服务器上的变化,然后才能提交,也就是先更新再提交。

    五.切换远程仓库(master)
    $ git remote rm origin    先删除当前连接的主仓库(master)
    $ git remote add origin git@github.com:your/your.git  再切换至下一个仓库
    $ git pull 拉去远程仓库并同步
    切换成功
     六 克隆仓库
    切换至合适的目录
    $ git clone git@github.com:xxxx/xxxx.git

    详情参考:https://www.liaoxuefeng.com/wiki/896043488029600/900002180232448

  • 相关阅读:
    【CodeForces】835D Palindromic characteristics
    【BZOJ】2006: [NOI2010]超级钢琴
    【比赛】STSRM 09
    【比赛】洛谷夏令营NOIP模拟赛
    【BZOJ】4147: [AMPPZ2014]Euclidean Nim
    【BZOJ】3895: 取石子
    【胡策08】解题报告
    【codevs】3196 黄金宝藏
    【BZOJ】1443: [JSOI2009]游戏Game
    【BZOJ】3105: [cqoi2013]新Nim游戏
  • 原文地址:https://www.cnblogs.com/jum-bolg/p/10941800.html
Copyright © 2011-2022 走看看