zoukankan      html  css  js  c++  java
  • Git 常用基本命令汇总

    安装git
    1 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
    2 yum install -y git
    3 git config --global user.name "Your Name"
    4 git config --global user.email "email@example.com"
    5 git config core.filemode false    #忽略文件权限
     
    默认git版本为1.7.1无法clone版本库,需要升级git客户端
    yum install perl-ExtUtils-MakeMaker package gettext-devel
    tar -xzf git-2.4.1.tar.gz
    cd git-2.4.1
    make configure
    ./configure
    make
    make install
    

      

    身份认证
    1,生成本地主机id_rsa.pub公钥,将内容添加到gitlab的SSH keys
    2,使用帐户验证 在gitlab创建帐户,添加用户到project member
    	
    
    直接从远程库克隆
    git clone git@gitlab.ve.cn:xikai/test.git
    git clone http://gitlab.ve.cn/xikai/test.git
    
    
    
    提交文件到git版本库
    git add file #把文件修改添加到暂存区
    git rm #从版本库删除文件
    git commit -m "xxxxx"    #把暂存区的所有内容提交到当前分支
    git status #查看状态
    git log    #显示版本日志
    git reflog    #列出所有操作记录
    git checkout -- readme.txt    #将工作区指定文件回到最近一次git commit或git add时的状态
    git reset HEAD readme.txt    #将暂存区指定文件重新撤回工作区 
     

    储藏
    git stash                    #把当前工作现场"储藏"起来,等以后恢复现场后继续工作(你当前的工作还没有完成提交,当前又必须先去修复bug时,需要将当前工作区“储藏”起来,保持工作区干)
    git stash pop                #恢复之前"储藏"的工作现场,同时把stash内容也删除
    git stash list                #查看stash内容
    
    
    
    版本回退
    git reset --hard HEAD^        #回退到上一个版本
    git reset --hard HEAD~100    #回退到上100个版本
    git reset --hard 3628164    #回到指定commit ID的版本(commit ID不用写全

     
    分支管理
    一个成功的git分支方案: 
    http://blog.csdn.net/dbzhang800/article/details/6798724

    git branch -a                    #列出所有本地分支及远程分支
    git checkout -b develop                 #创建并切换develop分支
    git checkout develop                #切换分支
    git branch -d myfeature                   #删除develop本地分支(git branch -D myfeature 强行删除没有被合并的分支)
    

      

    删除远程库分支
    git branch -r -d origin/develop            #删除本地对应的remotes/origin/develop
    git push origin  :develop            #将本地空的分支推送到远程指定分支,冒号前面空格不能少
    git checkout -b develop origin/develop       #创建远程develop分支到本地
    git branch --set-upstream branch-name origin/branch-name        #建立本地分支和远程分支的关联
    
    
    
    
    合并分支
    git merge develop
    git merge --no-ff -m "commit message" develop    #合并develop分支到当前分支(develop分支文件的内容会覆盖当前的内容)  
    
    
    
     
    注:合并分支默认会使用Fast forward "快进模式",当被合并的分支被删除时,会丢掉分支信息; --no-ff禁用快进模式,Git就会在merge时生成一个新的commit
    
    
    推送拉取
    git remote -v                #查看远程git服务端地址
    git push -u origin master    #推送本地当前指定分支到远程服务端 -u第一次推送用于关联本地master分支与远程master分支
    git push -u origin develop
    git pull origin master       #从远程git服务器拉取指定分支数据到本地当前分支 
    git pull origin develop
    git push            #推送所有分支
    git pull            #拉取所有分支
    
    
    
    
    标签管理
    git tag                            #列出所有tag
    git tag -a v1.0 -m "v1.0"                   #为当前分支打标签
    git tag v0.9 6224937                        #为指定版本打标签
    git push origin --tags                        #推送tags
    git pull origin --tags                        #更新当前分支和tags
    git checkout v1.0                            #检出指定tag
    git show v0.1                                #查看tag信息
    git tag -d v0.1                                #删除本地标签
    git push origin :refs/tags/v0.1                #删除远程标签(必须先删除本地标签再push origin) 
    
    
    
    忽略特殊文件
    有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件等等,每次git status都会显示“Untracked files ...”,有强迫症的童鞋心里肯定不爽
    解决方法:在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,提交.gitignore文件到版本库,Git就会自动忽略.gitignore中的文件
    参考文档:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
  • 相关阅读:
    Zabbix使用grafana展示图形
    Jumpserver堡垒机
    ELK之使用filebeat的多行过滤插件把多行合并成一行
    [0] Enterprise Architect
    [0] LoadRunner
    [0] Axure
    [0] MVC&MVP&MVVM差异点
    [0] 传统架构与领域模式架构对比
    [转] .NET领域驱动设计—看DDD是如何运用设计模式颠覆传统架构
    [转] .NET领域驱动设计—实践(穿过迷雾走向光明)
  • 原文地址:https://www.cnblogs.com/wpshan/p/6085811.html
Copyright © 2011-2022 走看看