zoukankan      html  css  js  c++  java
  • Git命令学习总结(-)

    入职的第一天,让git命令直接给难住了,汗!使用习惯可视化的工具对于命令行早就忘记的一干二净。还好,回家自己练习一下,总会没有错的。git就不做简介了,版本管理除了svn就是git了,其他的都无所谓了。

    直接上命令查看所有的git命令非常简单,直接在控制台输入 git,可以看到:

    lswdeMacBook-Pro:GitHub lsw$ git
    usage: git [--version] [--help] [-C <path>] [-c name=value]
               [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
               [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
               [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
               <command> [<args>]
    
    The most commonly used git commands are:
       add        Add file contents to the index
       bisect     Find by binary search the change that introduced a bug
       branch     List, create, or delete branches
       checkout   Checkout a branch or paths to the working tree
       clone      Clone a repository into a new directory
       commit     Record changes to the repository
       diff       Show changes between commits, commit and working tree, etc
       fetch      Download objects and refs from another repository
       grep       Print lines matching a pattern
       init       Create an empty Git repository or reinitialize an existing one
       log        Show commit logs
       merge      Join two or more development histories together
       mv         Move or rename a file, a directory, or a symlink
       pull       Fetch from and integrate with another repository or a local branch
       push       Update remote refs along with associated objects
       rebase     Forward-port local commits to the updated upstream head
       reset      Reset current HEAD to the specified state
       rm         Remove files from the working tree and from the index
       show       Show various types of objects
       status     Show the working tree status
       tag        Create, list, delete or verify a tag object signed with GPG
    
    'git help -a' and 'git help -g' lists available subcommands and some
    concept guides. See 'git help <command>' or 'git help <concept>'
    to read about a specific subcommand or concept.

    这里有git常用的命令,如果不知道命令如何使用,那么输入 git help <命令的名称>,比如 git help init,然后回车,控制台中就会输出init命令的详细解释合使用说明。


    这里只说几个常用的命令:

    1、git clone 从远程服务器上的git版本库克隆到本地。例子:首先进入本地的一个文件夹比如gitHubLib

    <p class="p1">lswdeMacBook-Pro:GitHub lsw$ git clone https://github.com/shiweihappy/LearnGItShell.git</p><p class="p1">Cloning into 'LearnGItShell'...</p><p class="p1">remote: Counting objects: 3, done.</p><p class="p1">remote: Compressing objects: 100% (2/2), done.</p><p class="p1">remote: Total 3 (delta 0), reused 0 (delta 0)</p><p class="p1">Unpacking objects: 100% (3/3), done.</p><p class="p1">Checking connectivity... done.</p>
    可以看的我将远程服务器上的LearnGItShell这个git仓库克隆到本地的目录文件夹中


    2、git pull --rebase 更新git的仓库,有人就问了为什么不是用git pull,加入--rebase是什么意思,这个问题就有点难解释了,有时间的话我会专门写一篇文章介绍这两种方法的区别。如果实在想知道的话可以网上搜索一下,具体这两种方法哪种更好,谁都无法说服谁,萝卜白菜各有所爱吧!

    例子:

    lswdeMacBook-Pro:<span style="font-family: monospace;font-size:18px; white-space: pre; background-color: rgb(240, 240, 240);">LearnGItShell</span> lsw$ git pull --rebase
    Current branch master is up to date.

    3、使用vim命令创建新的文件a.txt

    vim a.txt

    进入可编辑状态 i

    输入对应的内容,推出可编辑状态 esc

    保存文件 :wq


    4、git status 查看仓库的各个文件的状态。这个命令要多使用,无论是在更新或者提交的时候,可以查看本地的文件修改状况,防止误修改。例子:

    lswdeMacBook-Pro:LearnGItShell lsw$ git status
    On branch master
    Your branch is up-to-date with 'origin/master'.
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
    	a.txt
    
    nothing added to commit but untracked files present (use "git add" to track)

    这里可以看到在本地仓库中提示有一个没有版本控制的文件 a.txt,同时git提示使用add命令将其加入本地仓库中。


    5、git add 添加文件到本地仓库中,可以使用 git add a.txt 或者 git add . 将全部文件都加入到本地仓库中。

    lswdeMacBook-Pro:LearnGItShell lsw$ git add .
    lswdeMacBook-Pro:LearnGItShell lsw$ git status
    On branch master
    
    <p class="p1">Your branch is up-to-date with 'origin/master'.</p><p class="p2">
    </p><p class="p1">Changes to be committed:</p><p class="p1">  (use "git reset HEAD <file>..." to unstage)</p><p class="p2">
    </p><p class="p3"><span class="s1">	</span>new file:   a.txt</p>
    
    使用add命令后,在使用status命令查看本地的文件都在本地的仓库中了。


    6、git commit命令,提交修改内容的日志,这个命令很重要,因为通过他可以将这次所有的修改的说明提交到git仓库的log日志中,这也是以后我们查看之前修改的重要依据。例子:

    lswdeMacBook-Pro:LearnGItShell lsw$ git commit -m "add a.txt"
    [master 9a25f4f] add a.txt
     1 file changed, 3 insertions(+)
     create mode 100644 a.txt
    lswdeMacBook-Pro:LearnGItShell lsw$ ls
    README.md	a.txt
    lswdeMacBook-Pro:LearnGItShell lsw$ git status
    On branch master
    Your branch is ahead of 'origin/master' by 1 commit.
      (use "git push" to publish your local commits)
    
    nothing to commit, working directory clean

    这样我们添加的文件的日志就添加到本地仓库的日志中了,同时git提示我们将本地的仓库push到远程的仓库中。OK!继续


    7、git push,将本地的修改提交到远程的仓库中。例子:

    lswdeMacBook-Pro:LearnGItShell lsw$ git push
    warning: push.default is unset; its implicit value is changing in
    Git 2.0 from 'matching' to 'simple'. To squelch this message
    and maintain the current behavior after the default changes, use:
    
      git config --global push.default matching
    
    To squelch this message and adopt the new behavior now, use:
    
      git config --global push.default simple
    
    When push.default is set to 'matching', git will push local branches
    to the remote branches that already exist with the same name.
    
    In Git 2.0, Git will default to the more conservative 'simple'
    behavior, which only pushes the current branch to the corresponding
    remote branch that 'git pull' uses to update the current branch.
    
    See 'git help config' and search for 'push.default' for further information.
    (the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
    'current' instead of 'simple' if you sometimes use older versions of Git)
    
    Username for 'https://github.com': shi_weihappy@126.com
    Password for 'https://shi_weihappy@126.com@github.com': 
    Counting objects: 4, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 283 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To https://github.com/shiweihappy/LearnGItShell.git
       40ceb9f..9a25f4f  master -> master

    其中需要输入远程仓库的UserName合password。

    我们输入status命令查看一下当前的状态:

    lswdeMacBook-Pro:LearnGItShell lsw$ git status
    On branch master
    Your branch is up-to-date with 'origin/master'.
    
    nothing to commit, working directory clean

    OK,远程仓库也提交完毕!


    8、最后来一个查看日志的命令git log。直接上例子:

    lswdeMacBook-Pro:LearnGItShell lsw$ git log
    commit 9a25f4fe7224492c7ba440c3430e27918b8fa5d8
    Author: shiweihappy <shi_weihappy@126.com>
    Date:   Tue Jan 6 22:24:10 2015 +0800
    
        add a.txt
    
    commit 40ceb9fd3bf48bc8f351e60521761a72b9e390a4
    Author: shiweihappy <shi_weihappy@126.com>
    Date:   Tue Jan 6 22:20:11 2015 +0800
    
        Initial commit

    第一部分的初级命令就是这么多了,后续还会有更多的命令介绍,敬请期待了!大笑






































  • 相关阅读:
    HDU 3911 线段树区间合并
    Memcache启动&amp;存储原理&amp;集群
    剑指Offer面试题27(Java版):二叉搜索树与双向链表
    ORA-12514: TNS: 监听程序当前无法识别连接描写叙述符中请求的服务
    Java.Lang.NoSuchMethod 错误
    poj2524
    特征价格(Hedonic price)
    特征价格(Hedonic price)
    苏州之行
    苏州之行
  • 原文地址:https://www.cnblogs.com/shiweihappy/p/4246356.html
Copyright © 2011-2022 走看看