zoukankan      html  css  js  c++  java
  • Git入门教学

    建立仓库并提交修改

    创建目录

    $ mkdir <dir>

    进入目录

    $ cd <dir>

    显示当前目录

    $ pwd

    新建仓库,可以发现当前目录下多了一个.git的目录

    $ git init

    把文件添加到库

    $ git add <file>

    提交所有更改,-m后面输入的是本次提交的说明

    $ git commit -m "xxx"

    查看工作区当前状态

    $ git status

    查看修改内容

    $ git diff

    版本回退

    显示从最近到最远的提交日志,你看到的一大串类似3628164...882e1e0的是commit id

    $ git log

    回退版本

    $ git reset --hard <commit id/version>

    在Git中,用HEAD表示当前版本,也就是最新的提交

    上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100个版本写成HEAD~100


    记录你的每一次命令

    $ git reflog

    撤销修改

    查看工作区和版本库里面最新版本的区别

    $ git diff HEAD -- readme.txt

    把文件在工作区的修改全部撤销,让这个文件回到最近一次git commit或git add时的状态。

    $ git checkout -- <file>


    把暂存区的修改撤销掉(unstage),重新放回工作区

    $ git reset HEAD <file>

    总结:

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,版本回退,不过前提是没有推送到远程库。

    删除

    一般情况下,你通常直接在文件管理器中把没用的文件删了,再用rm命令并提交即可:

    $ rm <file>

    远程仓库

    在继续阅读后续内容前,请自行注册GitHub账号。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

    第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com"
    你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

    如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

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

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

    点“Add Key”,你就应该看到已经添加的Key:

    为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

    当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

    设置完后,登陆GitHub,创建一个新的仓库:
    GitHub告诉我们,可以从这个仓库克隆出新的本地仓库,

    $ git clone git@github.com:<用户名>/<仓库名>.git

    也可以把一个已有的本地仓库与之关联,origin是远程库的名字,可以自行设置,默认是origin

    $ git remote add origin git@github.com:<用户名>/<仓库名>.git

    然后,把本地仓库的内容推送到GitHub仓库。

    $ git push -u origin master

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    参与开源

    • 在GitHub上,可以任意Fork开源仓库;

    • 自己拥有Fork后的仓库的读写权限;

    • 可以推送pull request给官方仓库来贡献代码。

  • 相关阅读:
    【java读书笔记】——java的异常处理
    《C程序猿:从校园到职场》出版预告(4):从“散兵游勇”到“正规部队”
    GIS+=地理信息+行业+大数据——纽约公开11亿条出租车和Uber原始数据下载及分析
    Java第二次作业
    Qt5的插件机制(6)--开发Qt插件时几个重要的宏
    如何获得(读取)web.xml配置文件的參数
    JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记1
    虚幻4Matinee功能 基本概念及简单演示样例(Sequence编辑器)
    Loadrunner Analysis之Web Page Diagnostics
    Linux下Jenkins+git+gradle持续集成环境搭建
  • 原文地址:https://www.cnblogs.com/fr-ruiyang/p/8503144.html
Copyright © 2011-2022 走看看