zoukankan      html  css  js  c++  java
  • git常用命令

    常用命令

     
    #下载项目
    $ git clone git://github.com/jquery/jquery.git

    #添加项目到暂存区,点号表示添加所有
    $ git add <filename>/.

    #提交暂存区到仓库区
    $ git commit -m [message] #或者git commit -a

    #推送项目到远程地址
    $ git push

    # 强行推送当前分支到远程仓库,即使有冲突
    $ git push [remote] --force

    基本命令

     
    #创建并切换分支
    $ git checkout -b branchName #每次开发新功能,都应该新建一个单独的分支

    #添加当前目录的所有文件到暂存区
    $ git add .

    #用互动的模式来确认要加入的档案
    $ git add -i:

    #HEAD指针
    HEAD指针总是指向分支的最新提交。每当你做出了一个提交,HEAD更新为最新提交。
    HEAD树枝存储在.git/refs/heads/ 目录中。
    cat .git/HEAD
    ref: refs/heads/master

    #新建分支
    $ git branch [branchName]

    查看命令

     
    $ git show            # 显示某次提交的内容
    $ git log --since="6 hours" # 显示最近6小时提交
    $ git log --before="2 days" # 显示2天前提交
    $ git log <file> # 查看该文件每次提交记录

    合并分支

     
    git merge <branch>                  # 将branch分支合并到当前分支
    Git分支操作: 创建分支后, 分支操作不会影响master分支, 但是master分支改变会影其它分支;


    --列出分支 :$ git branch ;

    --切换分支 :git checkout master

    --提交分支 : git push origin branchName ;

    --删除分支 : git branch -d branchName , 强制删除分支 git branch -D branchName
    --合并分支 : git merge branchName ;

    远程分支

     
    $ git pull                # 抓取远程仓库所有分支更新并合并到本地
    $ git push origin master # 将本地主分支推到远程主分支 master 可以换成你想要的任何分支

    # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
    $ git push -u origin master

    # 查看远程仓库:
    $ git remote -v

    # 下载远程仓库的所有变动
    $ git fetch [remote]

    Git主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。

    别名注册

    git ci 相当于git commit,输入git st相当于git status。可以自己注册别名:

     
    $sudo git config --system alias.st status
    $sudo git config --system alias.ci commit
    $sudo git config --system alias.co checkout
    $sudo git config --system alias.br branch

    在Git中,用两种方法将两个不同的branch合并。一种是通过git merge,一种是通过git rebase

    与 git merge不同的是, git rebase不单单只是将两个不同的branch 合并起来,而是将某一支 branch 基于另一支 branch的内容合并起来

    分支的开发过程中,要经常与主干保持同步。

     
    $ git fetch origin
    $ git rebase origin/master

    合并commit

    分支开发完成后,很可能有一堆commit message,但是合并到主干的时候,往往希望只有一个(或最多两三个)commit message,这样不仅清晰,

    也容易管理。那么,怎样才能将多个commit合并呢?这就要用到 git rebase命令。git rebase是对commit history的改写。

     
    $ git rebase -i origin/master

    git rebase命令的i参数表示互动(interactive),这时git会打开一个互动界面,进行下一步操作。

     
    pick:正常选中
    reword:选中,并且修改提交信息;
    edit:选中,rebase时会暂停,允许你修改这个commit(参考这里)
    squash:选中,会将当前commit与上一个commit合并
    fixup:与squash相同,但不会保存当前commit的提交信息
    exec:执行其他shell命令

    合并commit后,就可以推送当前分支到远程仓库了。

     
    $ git push --force origin myfeature

    git push命令要加上force参数,因为rebase以后,分支历史改变了,跟远程分支不一定兼容,有可能要强行推送

    当出现no changes added to commit时如何正确使用git提交命令?

    对于这个问题,最好的解决方法就是按如下步骤:

     
    1.到根目录下:git add .  ;("."是必须要的)
    2.git commit -m "some word"
    3.git push -u origin master

    上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

    当出现:changes not staged for commit

     
    sudo rm -Rf .git #强制递归删除

    git push origin master的意思就是将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。

    git push是上传本地所有分支代码到远程对应的分支上。

    当出现nothing to commit, working directory clean

    这说明你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过。此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪的新文件,否则 Git 会在这里列出来。最后,该命令还显示了当前所在的分支是 master,这是默认的分支名称,实际是可以修改的

    jade模板引擎的使用
  • 相关阅读:
    kickstart自动安装部署RHEL7
    物流即使查询API
    快递单号查询快递鸟API接口-100家快递单轨迹推送
    物流跟踪API-快递单订阅
    如何最快实现物流即使查询功能-物流轨迹查询API
    提供一个不错的物流物流接口给大家,本人亲测,真的不错
    给idea添加类注释和方法注释模板
    分享一个生成反遗忘复习计划的java程序
    用TreeSet和Comparator给list集合元素去重
    对poi-excel导出的浅层理解
  • 原文地址:https://www.cnblogs.com/libin-1/p/5815777.html
Copyright © 2011-2022 走看看