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

    git常用命令
    1、配置全局注释用户名称、关联邮件地址
    git config --global user.name "junge8618"
    git config --global user.email "513851613@qq.com"
    说明:
    如果要配置指定仓库,直接切换到该仓库目录,执行不带--global目录;
    查看已经设置的值,使用命令:
    git config --global user.name
    git config --global user.email

    查看所有已有的配置
    git config --list

    2.初始化本地仓库
    进入目录,执行命令git init

    3.添加文件或者目录
    git add .

    4.提交修改至本地仓库
    git commit -m "Initial commit"

    5.查看状态
    git status

    6.创建分支
    git checkout -b comic_sans

    7.使用-a同时增加和提交
    git commit -am "Make header font comic sans"

    8.分支合入主干分支
    切换到主干分支git checkout master
    合并分支到主干分支git merge comic_sans
    查看日志git log

    9.获取命令帮助信息
    git help <verb>
    git <verb> --help
    man git-<verb>

    10.克隆项目
    git clone git://github.com/schacon/grit.git
    git clone git://github.com/schacon/grit.git mygrit

    11.删除文件
    git rm -rf <file>... 已提交的文件删除,物理删除(暂存和本地目录都删除),需要使用命令git commit提交删除的文件
    git rm --cached readme.txt 从暂存中删除
    git reset HEAD <file>... 已标记的文件且未暂存的文件,通过该命令回滚

    12.文件改名
    git mv file_from file_to

    13.查看历史提交记录
    git log
    git log --stat 只显示摘要

    14.重新提交
    git commit --amend

    15.远程仓库
    查看当前的远程库 git remote -v
    添加远程仓库 git remote add [shortname] [url]
    git remote add junge https://github.com/apache/rocketmq.git

    从远程仓库抓取数据 git fetch [remote-name]
    git fetch origin 会抓取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。有一点很重要,需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
    如果设置了某个分支用于跟踪某个远端仓库的分支(参见下节及第三章的内容),可以使用 git pull 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。在日常工作中我们经常这么用,既快且好。实际上,默认情况下 git clone 命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确实有 master 分支)。所以一般我们运行 git pull,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。

    推送数据到远程仓库 git push [remote-name] [branch-name]
    查看远程仓库信息 git remote show origin
    远程仓库的重命名 git remote rename 例子:git remote rename pb paul
    远程仓库的删除 git remote rm 例子:git remote rm paul

    16.打标签
    列显已有的标签 git tag 或者git tag -l "v1.4.2.*"
    新建含附注的标签 git tag -a v1.4 -m 'my version 1.4'
    查看相应标签的版本信息git show v1.4
    后期加注标签 git tag -a v1.2 9fceb02
    分享标签 git push origin v1.5 或者git push origin --tags(一次推送所有本地新增的标签上去)

    17.分支
    创建新分支 git branch testing
    新创建分支时,不会自动切换,需要手工切换分支 git checkout testing
    可以使用命令创建并切换分支 git checkout -b iss53 (切换分支前,保证本地的代码已经提交完全)
    删除分支 git branch -d hotfix
    合并分支(切换到主干,把iss53分支中的代码合并到主干)
    git checkout master
    git merge iss53
    查看有冲突的合并文件 git status
    冲突解决后,运行命令git add 将把它们标记为已解决状态
    当前所有分支的清单(其中前面显示星号的是当前分支)
    git branch

    查看各个分支最后一个提交对象的信息
    git branch -v

    查看哪些分支已被并入当前分支(译注:也就是说哪些分支是当前分支的直接上游。)
    git branch --merged

    查看尚未合并的工作
    git branch --no-merged

    删除分支(没有合入主干则会提示)
    git branch -d testing

    强制删除分支(没有合入主干则会提示)
    git branch -D testing

    18.推送本地仓库到远程仓库
    新增远程仓库
    git remote add origin https://github.com/junge8618/git-demo.git

    设置本地仓库为远程仓库的跟踪分支
    git branch --set-upstream-to=origin/master master
    git branch --set-upstream dev origin/dev

    更新远程仓库到本地
    git fetch

    推送本地仓库到远程仓库
    git push

    19.查看历史记录的版本号id
    git reflog

    20.恢复到某个版本
    git reset --hard 259e941
    git reset --hard HEAD^ 恢复到上个版本
    git reset --hard HEAD^^恢复到上2个版本
    git reset --hard HEAD~100 恢复到上100个版本

    21.命令 git checkout -- readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,这里有2种情况,如下:
    readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
    另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

    22.合并分支禁止Fast forward(该模式下,删除分支后,会丢掉分支信息)
    git merge --no-ff -m "merge with no-ff" dev

    23.隐藏与还原工作现场
    隐藏现场
    git stash

    查看隐藏列表
    git stash list

    恢复现场
    git stash apply
    git stash apply 0 #按序号恢复

    删除
    git stash drop

    恢复并删除
    git stash pop

    常见问题:

    1.我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。

    先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull

    因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,这句代码是在git 2.9.2版本发生的,最新的版本需要添加--allow-unrelated-histories

    假如我们的源是origin,分支是master,那么我们 需要这样写git pull origin master ----allow-unrelated-histories

    如果合并后有冲突,需要先解决冲突,冲突解决后使用命令提交本地修改的文件git commit -am "解决冲突提示"

    第一次推送远程仓库,需要使用如下命令:

     git push --set-upstream origin master

    参考博客:https://blog.csdn.net/andylauren/article/category/6860541

  • 相关阅读:
    execute,executeQuery,executeUpdate的区别是什么?
    JDBC访问数据的基本步骤是什么
    什么是JDBC,在上面时候会用到它
    Java 为每个原始类型提供了哪些包装类型:
    Java 为每个原始类型提供了哪些包装类型:
    JDBC访问数据库的基本步骤是什么?
    String 类的常用方法都有那些?
    == 和 equals 的区别是什么
    查询所有课程成绩小于60分的同学的学号、姓名;
    什么是JDBC的最佳实践?
  • 原文地址:https://www.cnblogs.com/junge8618/p/9155418.html
Copyright © 2011-2022 走看看