zoukankan      html  css  js  c++  java
  • Git常用命令以及常见问题解决

    Git常用命令以及场景问题解决

    指令

    新建代码库

    # 在当前目录新建一个Git代码库
    git init
    
    # 新建一个目录,将其初始化为Git代码库
    git init [project-name]
    

    配置

    # 显示当前的Git配置
    git config --list
    
    # 设置提交代码时的用户信息
    git config [--global] user.name "name"
    git config [--global] user.email "email address"
    

    添加文件

    # 添加指定文件到暂存区
    git add [file1] [file2] ...
    
    # 添加指定目录到暂存区,包括子目录
    git add [dir]
    
    # 添加当前目录的所有文件到暂存区
    git add .
    

    提交

    # 提交暂存区到仓库区
    git commit -m "msg"
    
    # 提交暂存区的指定文件到仓库区
    git commit [file1] [file2] ... -m "msg"
    
    # 提交工作区自上次commit之后的变化,直接到仓库区
    git commit -a
    
    # 提交时显示所有diff信息
    git commit -v
    

    分支

    # 列出所有本地分支
    git branch
    
    # 列出所有远程分支
    git branch -r
    
    # 列出所有本地分支和远程分支
    git branch -a
    
    # 新建一个分支,但依然停留在当前分支
    git branch [branch-name]
    
    # 新建一个分支,并切换到该分支
    git checkout -b [branch]
    
    # 切换到指定分支,并更新工作区
    git checkout [branch-name]
    
    # 切换到上一个分支
    git checkout -
    
    # 合并指定分支到当前分支
    git merge [branch]
    
    # 删除分支
    git branch -d [branch-name]
    
    # 删除远程分支
    git push origin --delete [branch-name]
    
    git branch -dr [remote/branch]
    

    标签

    # 列出所有tag
    git tag
    
    # 新建一个tag在当前commit
    git tag [tag]
    
    # 新建一个tag在指定commit
    git tag [tag] [commit]
    
    # 删除本地tag
    git tag -d [tag]
    
    # 删除远程tag
    git push origin :refs/tags/[tagName]
    
    # 查看tag信息
    git show [tag]
    
    # 提交指定tag
    git push [remote] [tag]
    
    # 提交所有tag
    git push [remote] --tags
    
    # 新建一个分支,指向某个tag
    git checkout -b [branch] [tag]
    

    其他

    # 普通克隆
    git clone [url]
    
    # 带分支克隆
    git clone -b [url]
    
    # 相当于进行了 git fetch 和 git merge两部操作
    git pull origin master 
    
    # 强行推送当前分支到远程仓库,即使有冲突<慎用>
    git push [remote] --force
    
    # 上传本地指定分支到远程仓库
    git push [remote] [branch]
    
    # 显示所有远程仓库
    git remote -v
    
    

    常见错误

    You have not concluded your merge (MERGE_HEAD exists)

    可能是因为以前pull下来的代码自动合并失败导致的。

    • 保留本地的更改
    # 1. 中止合并
    git merge --abort
    # 2. 重新合并
    git reset --merge
    # 3. 重新拉取<如果有冲突,再解决冲突>
    git pull
    

    .gitignore

    HELP.md
    target/
    log/
    !.mvn/wrapper/maven-wrapper.jar
    !**/src/main/**
    !**/src/test/**
    
    ### STS ###
    .apt_generated
    .classpath
    .factorypath
    .project
    .settings
    .springBeans
    .sts4-cache
    
    ### IntelliJ IDEA ###
    .idea
    *.iws
    *.iml
    *.ipr
    
    ### NetBeans ###
    /nbproject/private/
    /nbbuild/
    /dist/
    /nbdist/
    /.nb-gradle/
    build/
    
    ### VS Code ###
    .vscode/
    
    
  • 相关阅读:
    FTDI端口或ISP端口编程方式的比较
    PhantomX Pincher Arm---设置ArbotiX和Arduino软件
    PhantomX Pincher机器人机械臂那些事儿
    使用aplay实现音频播放
    TurtleBot3-讲在前面的话
    ROS-ROS命令(五) rosservice:ROS服务
    ROS-ROS命令(四)rostopic: ROS话题
    ROS-ROS命令(三)ROS 信息命令
    jquery下拉框应用
    jquery的attr获取表单checked 布尔值问题
  • 原文地址:https://www.cnblogs.com/jockming/p/13863824.html
Copyright © 2011-2022 走看看