zoukankan      html  css  js  c++  java
  • git用法

    创建版本库(repository)

    $ mkdir firstry

    $cd firstry

    $git init 

    $vi readme.txt

    $git add readme.txt

    $vi readme1.txt

    $git add readme1.txt

    $git commit  -m 'I write two flies'

    PS:git init就相当于为当前状态的文件夹建立一个指针链表,主要用来追踪文件的状态,同时可以回退,还原等

         在git init之后,在文件夹中添加文件,只有在git add ,git commit后才有效

         git commit可以一次性提交所有已经add了的文件

         add和commit区别见下图,add后只是进入了stage区,commit后才链入respository(注意是在master分支下的)

    图片来自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013745374151782eb658c5a5ca454eaa451661275886c6000

    保存修改

     $vim readme.txt

    //修改内容

    $git status

    $git add readme.txt

    $git status

    $git commit  -m 'readme modified'

    $git status

    PS:git status用来显示当前git库的状态(上述三图分别表示了三种状态)

    SSH连接

    $  ssh-keygen -C 'your email' -t rsa

    //之后询问rsa公钥私钥的储存位置,enter即可

    $cat  /root/.ssh/id_rsa.pub

    //显示rsa公钥,复制

    //然后将该公钥添加到github的ssh列表中

    $ ssh -T git@github.com

    //之后显示以下提示,表示连接成功

    添加远程库

    $ git clone git@github.com:xxxx/xxx.git

    //将远程库copy一份到本地

    //进行相应的编辑修改(假设已经进行了git操作)后

    $git remote add origin git@github.com:xxx/xxx.git

    //origin代表远程操作,如果显示error,则先执行 git remote rm origin

    $git push origin master

    //将本地分支(默认是master)push到远程的master分支上去,本地master和远程master会合并

    //在之前可能会需要确认身份

    //git config --global user.email "xxx“
    //git config --global user.name "xxx"

    分支

     $ git branch

    //查看当前分支的情况

    $ git branch visitor

    //创建一个分支

    $ git branch

    $ git checkout visitor

    $ git branch

    //然后对该branch内容修改并加入到git库中,之后切换到master分支,查看在visitor分支中修改了的内容,可以发现在master分支中并未修改

    $ git checkout master

    $ git merge visitor

    //将visitor分支的内容合并到master分支中去

    $ git branch -d visitor

    //删除visitor分支

    不同分支之间的关系见url:http://github.liaoxuefeng.com/sinaweibopy/video/master-and-dev-ff.mp4

    一些简化的操作

    一些容易混淆的操作

    $ git add .

    //将工作区未追踪新建文件和已追踪修改文件添加到暂存区,但是不包括删除的文件

    $ git add -u

    //将工作区已追踪的文件的修改或者删除添加到暂存区,可以在该操作后commit达到在git库中删除文件的目的

    $ git add -A

    //集成了 git add . 和git add -u的所有功能

    一些可能出现的问题

    Example-one:

    $ git clone xx@xx.git

    $ mkdir xxx

    $ git status

    //显示本地库与远程库版本一致,工作区没有新文件,可能会疑问:我不是建了一个文件夹么?但是没有内容,只有目录分支是不行的。

    解决:

    $ cd xxx

    $ vi README.md

    ..之后就可以添加了

    Example-two:

    Permission denied (publickey).

    多日没有进行git操作后,ssh失效

  • 相关阅读:
    vue中的$nextTick()
    对SPA(单页面应用)的总结
    函数节流和函数防抖
    前端路由
    let、const
    深拷贝与浅拷贝
    小白浅谈Ajax基础
    关于BFC布局的那些事
    关于BFC的那些事
    Sass基础知识及语法
  • 原文地址:https://www.cnblogs.com/kundeg/p/7135072.html
Copyright © 2011-2022 走看看