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

    一、本地操作:

    1.其它

    git init:初始化本地库 / git init [filename]  :新建一个目录,将其初始化为Git代码库。

    git status:查看工作区、暂存区的状态 / git status [filename] 查看指定文件状态

    git add <file name>:将工作区的“新建/修改”添加到暂存区 / git add . 添加当前目录所有文件到暂存区

    git rm file_path : 当需要删除暂存区或分支上的文件,同时工作区也不需要这个文件了

    git rm --cached <file name>:仅移除暂存区的修改

    git commit <file name>:将暂存区的内容提交到本地库

      tip:需要再编辑提交日志,比较麻烦,建议用下面带参数的提交方法

    git commit -m "提交日志" <file name>:文件从暂存区到本地库

    git clean 参数

       -n 显示 将要 删除的 文件 和 目录

       -f 删除 文件,-df 删除 文件 和 目录

    2.日志

    git log:查看历史提交

      tip:空格向下翻页,b向上翻页,q退出

    git log --pretty=oneline:以漂亮的一行显示,包含全部哈希索引值

    git log --oneline:以简洁的一行显示,包含简洁哈希索引值

    git reflog:以简洁的一行显示,包含简洁哈希索引值,同时显示移动到某个历史版本所需的步数

    3.版本控制

    git reset --hard 简洁/完整哈希索引值:回到指定哈希值所对应的版本

    git reset --hard HEAD:将 Git 回退到上次提交的时候,hard参数表示将改变工作区内容

    git reset --hard HEAD^:后退一个版本  

      tip:一个^表示回退一个版本

    git reset --hard HEAD~1:后退一个版本

      tip:波浪线~后面的数字表示后退几个版本

    注意,soft参数与默认参数都不会修改工作区代码,只有hard参数才会修改工作区代码。

    另外,git reset HEAD filename
    回退文件,将文件从暂存区回退到工作区(unstage),此时不能带hard,soft参数

    4.比较差异

    git diff:比较工作区和暂存区的所有文件差异

    git diff <file name>:比较工作区和暂存区的指定文件的差异

    git diff HEAD|HEAD^|HEAD~|哈希索引值 <file name>:比较工作区跟本地库的某个版本的指定文件的差异

    5.分支操作

    git branch -v:查看所有分支 / git branch -r : 查看所有远程分支

    git branch -d <分支名>:删除本地分支

    git branch <分支名>:新建分支

    git checkout <分支名>:切换分支 / git checkout -f <分支名>:强制切换分支

    git cheakout - b <分支名> :新建一个分支,并切换到分支

    git cheakout - :切换到上一个分支

    git cheakout . :撤销工作区中当前目录的所有更改

    git checkout -- * :撤销从上次提交之后所做的所有修改

    git checkout -- <filaname> :撤销从上次提交之后的单个文件的修改

    git merge <被合并分支名>:合并分支

      tip:如master分支合并 hot_fix分支,那么当前必须处于master分支上,然后执行 git merge hot_fix 命令

      tip2:合并出现冲突

        ①删除git自动标记符号,如<<<<<<< HEAD、>>>>>>>等

        ②修改到满意后,保存退出

        ③git add <file name>

        ④git commit -m "日志信息",此时后面不要带文件名

    6.其他操作

     git config --list :显示当前Git的配置

    git config -e [--global] : 编辑Git配置文件

    初次commit之前,需要配置用户邮箱及用户名,使用以下命令:

    git config --global user.email "you@example.com"

    git config --global user.name "Your Name"

    git --help :帮助文档 / git [命令] --help :命令帮助文档

    git --version :git版本

    二、本地库跟远程库交互:

    git clone <远程库地址>:克隆远程库

      功能:①完整的克隆远程库为本地库,②为本地库新建origin别名,③初始化本地库

      -b <name> 指定clone的分支名称

      不加参数默认clone master, 在默认情况下,Git会把"Git URL"里最后一级目录名的'.git'的后辍去掉,做为新克隆(clone)项目的目录名

    git remote -v:查看远程库地址别名

    git remote add <别名> <远程库地址>:新建远程库地址别名

    git remote rm <别名>:删除本地中远程库别名

    git push <别名> <分支名>:本地库某个分支推送到远程库,分支必须指定

    git pull <别名> <分支名>:把远程库的修改拉取到本地

      tip:该命令包括git fetch,git merge

    git fetch <远程库别名> <远程库分支名>:抓取远程库的指定分支到本地,但没有合并

    git merge <远程库别名/远程库分支名>:将抓取下来的远程的分支,跟当前所在分支进行合并

    git fork:复制远程库

      tip:一般是外面团队的开发人员fork本团队项目,然后进行开发,之后外面团队发起pull request,然后本团队进行审核,如无问题本团队进行merge(合并)到团队自己的远程库,整个流程就是本团队跟外面团队的协同开发流程,Linux的团队开发成员即为这种工作方式。

    本文转载自:Convict

  • 相关阅读:
    [服务器]Windows Server 2008 64位1核1G安装SQL Server2008
    [工作]离职了!好好休息一下
    [工作]IT连和IT恋产品已完成第一版,准备上线运营
    [SQL Server]储存过程中使用临时表循环操作数据
    [Swift]Xcode格式化代码快捷键
    [Swift]使用Alamofire传递参数时报错
    [工作]记录一下目前的工作
    [Swift]Swift图片显示方式设置,控件UIImageView的contentMode属性设置
    [Swift]创建桥接文件,Swift使用MJRefresh刷新插件
    我遇到了改变的机会
  • 原文地址:https://www.cnblogs.com/doggod/p/13274632.html
Copyright © 2011-2022 走看看