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失效

  • 相关阅读:
    Hdu2222——Keywords Search(AC自动机模板题)
    20180804的Test
    Poj3764---The xor-longest Path
    Bzoj4567---背单词
    Bzoj1590——Secret Message(Trie)
    Bzoj 1212----L语言(Trie)
    Poj1056---IMMEDIATE DECODABILITY(Trie)
    The Xor Largest Pair(Trie)
    Bzoj 4260——Codechef REBXOR(Trie)
    [接上一篇]spring boot启动成功之后,测试用例中需要使用的注入对象均为null
  • 原文地址:https://www.cnblogs.com/kundeg/p/7135072.html
Copyright © 2011-2022 走看看