zoukankan      html  css  js  c++  java
  • 常用git命令总结 初始化git库操作 git 子模块

    查看
    git status 查看状态
    Gitk 界面各个版本查看
    
    添加
    Git add filename 添加指定文件
    Git add . 操作未暂存的文件
    Git add -A 操作所有文件 包括删除的文件
    
    提交
    Git commit -m ‘此节点修改的描述’
    Git commit –amend -m ‘修改最近一次提交的数据’
    
    回退
    Git reset head ‘filename’ 将文件从已暂存中移除到位跟踪
    Git revert ‘某一个版本的id’返回上一个版本
    需求 :在我提交的版本之前有两个别人提交的版本,只想把我刚刚提交的版本上到测试,而另外两个版本不上
        Git log 查看日志 找到对应的那两个版本的id
        Git revert id1 (作为一次新的提交)
        Git revert id2 
        Git push  --- 此时上测试的话就可以构建了
        构建之后 git log 找到revert的两个id
        Git revert id3 
        Git revert id4 
        Git push -这样就回来了,相当于颠倒了顺序提交;
    
    撤销或查看分支
    Git checkout . 撤销本地所有修改
    Git checkout filename 撤销本地未add的指定文件
    Git checkout 分支名 切换到指定分支
    Git checkout -b branchName 切换(无时创建)本地分支
    
    Git branch -a 查看所有分支
    Git branch -r 查看远程风格之
    
    Push远程
    Git push origin branch提交到远程branch分支
    需求:本地develop分支代码修改完 直接 git push 提交到了develop分支,想再将代码提    交到master分支
    	Git checkout master 
    	Git merge develop  将develop分支合并到master分支;
    	Git push
    
    暂存
    Git stash save 
    Git stash pop
    需求:本地修改不想暂存或推到远程,
        git stash save
        git pull拉取远程代码;
        git stash pop  注意此过程可能存在代码冲突
    

      

    将代码提交到远程,直接git代码提交一样
    初始化一个仓库之后会什么命令都出错,可以手动更新一下,具体操作如下:
    一个空仓库申请过来之后:
       git init   ----   git remote add origin git仓库的地址
        1  git clone @地址
        2  手动更新git fetch origin
        3  git branch -r(或者-a 代表本地和远程的所有分支)
        4  创建或切换远程分支 git checkout -b develop
    
    从远程拉代码,不同分支
        1 git clone **
        2 cd 项目目录
        3 git checkout -b develop origin/develop 进入目录后默认为master分支,此句将远程develop拷贝到本地develop分支,并从master分支切换到develop分支上
    

      

    克隆一个带子模块的项目
    这里你将克隆一个带子模块的项目。当你接收到这样一个项目,你将得到了包含子项目的目录,但里面没有文件:
    $ git clone git://github.com/schacon/myproject.git
    Initialized empty Git repository in /opt/myproject/.git/
    remote: Counting objects: 6, done.
    remote: Compressing objects: 100% (4/4), done.
    remote: Total 6 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (6/6), done.
    $ cd myproject
    $ ls -l
    total 8
    -rw-r--r--  1 schacon  admin   3 Apr  9 09:11 README
    drwxr-xr-x  2 schacon  admin  68 Apr  9 09:11 rack
    $ ls rack/
    $
    rack目录存在了,但是是空的。你必须运行两个命令:git submodule init来初始化你的本地配置文件,
    git submodule update来从那个项目拉取所有数据并检出你上层项目里所列的合适的提交:
    详细的与npm对比 如下网址:https://blog.csdn.net/Smallsun_229/article/details/80721928

      

    代码拉取 
    git pull [--rebase] 加上--rebase 会使代码提交记录整理(按时间顺序)
    git pull --rebase origin master  拉取指定分支,
    
    查询git提交记录或某个文件的修改记录
    git log  查询git提交的记录
    git log -p ‘文件名’  查询某个文件
    

      

    git reset head ‘文件名’  将文件从已暂存中移除到未跟踪状态
    git reset gitId [--hard|soft|mixed(default)]回退到指定的某一个版本
    它本身做的事情就是重置HEAD(当前分支的版本顶端)到另外一个commit 
    

      

  • 相关阅读:
    linux运维工程师工作中的一些常见问题解决方法 风行天下
    64位win10系统无法安装.Net framework3.5的两种解决方法 风行天下
    vsphere使用笔记 风行天下
    kvm安装及使用 风行天下
    Linux 安装MySql 5.7.21 操作步骤 风行天下
    去掉mapxtreme for java 的水印
    在MapXtreme for Java 4.8.0 中发布新制作的电子地图
    NetBeans中Tomcat服务器中的manager 为什么不能浏览呢?
    VS2008简体中文正式版序列号及破解方法
    MAPXTREME FOR JAVA中中文显示问题
  • 原文地址:https://www.cnblogs.com/xhliang/p/9143598.html
Copyright © 2011-2022 走看看