• git程序员常用命令


    环境配置

    git config --global user.name <Your Name>          #配置用户名
    git config --global user.email <email@example.com> #配置邮件
    git config --list                                  #查看当前的git配置参数
    git config --global -l                             #查看全局配置
    git config <variableName>                          #查看指定的环境变量配置值,如 user.name

    快速查看相关命令

    git --version          #查看git版本 
    git <order> --help     #查看某个git命令的帮助文档           
    git status             #查看所有文件状态            
    git status <filename>  #查看某个文件的状态           
    git branch             #查看本地所有分支,查全部加-a参数,查远程仓库的,加-r参数               
    git tag                #查看本地所有tag                    
    git log                #查看历史提交
    git reflog             #查看历史命令

    分支创建,推送,删除相关

    # 创建本地分支aa:
    git branch aa
    
    #切换到分支aa
    git checkout aa
    
    #创建并切换到分支aa(aa是基于当前所处分支创建的)
    git checkout -b aa
    
    #删除本地分支aa
    git branch -d aa
    
    #删除远程仓库的分支aa(分支名前的冒号代表删除)
    git push origin :aa
    
    #将分支aa推送到远程库
    git push origin aa
    
    #提交分支数据到远程库的指定分支
    git push origin <localbranch>:<remoteBranch>
    
    #从服务器上拉取特定分支aa(--track参数会让git自动切换到对应分支)
    git checkout --track origin/<aa>

    #使用某个分支aa强制覆盖master
    首先切换到master,然后执行git reset --hard aa,然后git push origin master --force

    tag操作

    列出所有tag

    git tag                      #默认显示
    git tag -l
    git tag -n                   #查看所有tag和说明
    git tag -l v1.*              #查看匹配到的tag
    git ls-remote --tags origin  #查看远程所有tag

    查看tag信息

    git show v1.0.1   #查看tag v1.0.1的内容

    创建tag并推送到远程库同时创建

    git tag v2.0
    git push origin 

    创建带注释的tag并推送到远程库同时创建

    git tag -a v2.1 -m '创建版本2.1' 
    git push origin

    推送tag

    git push origin [tagname] #推送到远程仓库
    git push origin --tags    #推送所有tag到远程仓库

    删除tag

    git tag -d <tagname> 
    git push origin :refs/tags/<tagname>  #方式一:远程tag删除
    git push origin --delete <tagname>    #方式二:远程tag删除

    文件操作和状态

    刚刚添加的文件处于untracked状态,并未受到版本跟踪

    现在执行了  git add .  或   git add <file> ,文件将提交到暂存区,从这里开始跟踪状态,以下操作均以此为基础

    此时如果想把文件从暂存区移除,但是文件保存在工作区,也就是从跟踪单中删除,要执行:git rm --cached <file>

    此时如果想把文件从暂存区和工作区都删除,要执行:git rm -f <file>

    此时修改了文件,在还未 git add/rm 前想撤销修改,要执行:git checkout -- *  或 git checkout -- <file>(其实是用版本库的覆盖工作区的修改)

    如果已经做了 git add,但还未 commit 前想撤销,要执行:git reset HEAD .    或 git reset HEAD <file>

    如果已经做了git rm,但还未commit 前想撤销,要执行:git checkout  -- <file>

    现在已经执行了 commit,假设执行git log,找到这次提交的commit id是commit_id

    此时想取消这次commit,但是所做的修改不取消,要执行:git reset  <commit_id>

    此时想取消这次commit,且不保留commit之前修改的代码,直接恢复到commit前对应的这个commit_id版本,要执行git reset --hard <commit_id>

    现在已经执行了push

    此时想让远程库回退到指定的版本,要执行:git reset --hard <commit_id>,然后执行git push -f origin <branch>

    一般的开发流程

    ------远程分支拉取到本地-----

    1、新建文件夹myProject(假设远程分支叫dev)

    2、进入myProject,执行git init(初始化git信息)

    3、执行git remote add origin http://xxxxx.git(建立关联)

    4、执行git fetch origin dev(拉取代码)

    5、执行git checkout -b dev origin/dev(新建本地分支对应远程分支,并切换到这个分支)

    6、执行git pull origin dev

    开始开发后:

    1、提交到stage
    git add <file>  或   git add .

    2、提交到版本库
    git commit -m "......."

    3、拉取远程库代码,解决冲突
    git pull origin <branchName>

    4、更新后推送到远程库
    git push origin <branchName>

    其他

    #查看远程库的url及权限(-v是verbose,详细信息)
    git remote -v 
    
    #查看与本地git库关联所有远程库(一个本地git库可以向多个远程git库推送)
    git remote 
    
    #比较暂存区和工作区的区别
    git diff  <file>
    
    #比较暂存区和上一次提交的区别
    git diff --cached <file>

    #合并分支,取消合并
    git merge git merge --abort
  • 相关阅读:
    [转]Kqueue与epoll机制
    [转]Docker中的镜像
    [转]linux awk命令详解
    [转]Linux Shell 1>/dev/null 2>&1 含义
    file_get_contents(): SSL operation failed with code 1...解决办法和stream_context_create作用
    PHP abstract与interface之间的区别
    PHP基于Redis的全局订单号id
    Eclipse for php+Xdebug,搭建php单步调试环境
    Eclipse launch configuration----Eclipse运行外部工具
    MySql 缓冲池(buffer pool) 和 写缓存(change buffer) 转
  • 原文地址:https://www.cnblogs.com/yb38156/p/16049153.html
Copyright © 2020-2023  润新知