铁匠 铁匠
首页
golang
java
架构
常用算法
  • Java
  • nginx
  • 系统运维
  • 系统安全
  • mysql
  • redis
参考文档
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

铁匠

不予评判的专注当下
首页
golang
java
架构
常用算法
  • Java
  • nginx
  • 系统运维
  • 系统安全
  • mysql
  • redis
参考文档
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Git 常用命令与配置

    • 仓库相关命令
      • 回滚相关命令
        • 分支相关命令
          • tag相关命令
            • 子模块(submodule)相关命令
              • log
                • 忽略文件
                  • 配置
                    • 设置代理
                    fengjx
                    2016-04-23
                    参考文档
                    目录

                    Git 常用命令与配置

                    # 仓库相关命令

                    # 检出 仓库
                    git clone [url]
                    
                    # 查看远程仓库信息
                    git remote -v
                    
                    # 设置远端跟踪分支,eg: git branch --set-upstream-to=origin/master master
                    git branch --set-upstream-to=<remote_name>/<branch> <branch>
                    
                    # 添加远程仓库:
                    git remote add <name> <url>
                    
                    # 删除远程仓库,eg: git remote remove origin
                    git remote remove <name>
                    
                    # 修改远程仓库,eg: git remote set-url --push [name] [newUrl]
                    git remote set-url --push <name> <newUrl>
                    
                    # 拉取远程仓库
                    git pull [remoteName] [localBranchName]
                    
                    # 推送远程仓库
                    # eg: git push origin develop
                    # eg: git push origin dev:master (提交本地 dev 分支作为远端 master 分支)
                    git push [remoteName] [local:remote]
                    
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    23
                    24
                    25
                    26

                    # 回滚相关命令

                    
                    # 情况1:撤销已经 commit & push 的内容
                    
                    # 1. 查看已提交的版本
                    git log
                    
                    # 2. 回滚到指定版本
                    git reset --hard ${version}
                    
                    # 3. 强制 push
                    git push -f
                    
                    ############################################
                    
                    # 情况2:撤销已经 commit 但是未 push 的内容
                    
                    # 以下命令中也可以使用 HEAD~1(等价于  HEAD^), HEAD~2,1 和 2 表示之前几个版本
                    
                    # 撤销 commit 和 add,不会删除修改过的内容
                    git reset HEAD^ 
                    # 或者是
                    git reset --mixed HEAD^ 
                    
                    
                    # 撤销 commit,不撤销 add,不会删除修改的内容
                    git reset --soft HEAD^ 
                    
                    
                    # 撤销 commit 和 add,且删除修改过的内容
                    git reset --soft HEAD^ 
                    
                    # 只想修改注释
                    git commit --amend
                    
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    23
                    24
                    25
                    26
                    27
                    28
                    29
                    30
                    31
                    32
                    33
                    34

                    # 分支相关命令

                    # 列出远程跟踪及本地分支
                    git branch -av
                    
                    # 创建本地分支
                    git branch [name]
                    
                    # 切换分支
                    git checkout <name>
                    
                    # 创建新分支并立即切换到新分支
                    git checkout -b [name]
                    
                    # 删除已合并的分支
                    git branch -d [name] 
                    
                    # 强制删除分支
                    git branch -D [name] 
                    
                    # 合并 name 分支到当前分支
                    git merge [name]
                    
                    # 创建远程分支(本地分支push到远程)
                    git push origin [name]
                    
                    # 删除远程分支
                    git push origin -d [name]
                    
                    # 查看追踪情况
                    git remote show origin
                    
                    # 删除远端已经删除的分支
                    git remote prune origin
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    23
                    24
                    25
                    26
                    27
                    28
                    29
                    30
                    31
                    32

                    # tag相关命令

                    # 查看tag
                    #   -l, --list            列出标签名称
                    #   -n[<n>]               每个标签信息打印 <n> 行
                    #   -d, --delete          删除标签
                    #   -v, --verify          验证标签
                    git tag
                    
                    # 创建 tag
                    git tag <name>
                    
                    # 删除 tag
                    git tag -d [name]
                    
                    # 查看远程版本:
                    git tag -r
                    
                    # 创建远程版本(本地版本push到远程):
                    git push origin [name]
                    
                    # 删除远程版本:
                    git push origin :refs/tags/[name]
                    
                    # 从远端仓库拉取 tag
                    git pull origin --tags
                    
                    # 推送 tag 到远程仓库
                    git push origin --tags
                    
                    # 创建 tag 并添加注释
                    git tag -a [name] -m 'msg'
                    
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    23
                    24
                    25
                    26
                    27
                    28
                    29
                    30
                    31

                    # 子模块(submodule)相关命令

                    # 递归 clone 项目,会把 submodule 也一起 clone
                    git clone git@github.com:jjz/pod-project.git --recursive
                    
                    # 添加子模块,eg: git submodule add git submodule add git@github.com:tech-microworld/my-cloud-gateway.git src/gateway
                    git submodule add <url> <path>
                    
                    # 初始化子模块
                    git submodule init
                    
                    # 更新子模块
                    git submodule update
                    
                    # 删除子模块
                    # 1) 
                    git rm --cached [path]
                    
                    # 2) 将子模块的相关配置节点删除掉
                    vi .gitmodules
                    
                    # 3) 将子模块的相关配置节点删除掉
                    vi .git/config
                    
                    # 4) 手动删除子模块目录
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8
                    9
                    10
                    11
                    12
                    13
                    14
                    15
                    16
                    17
                    18
                    19
                    20
                    21
                    22
                    23

                    # log

                    # 查看log,eg: git log --graph -2
                    git log [--graph] [-n] 
                    
                    1
                    2

                    # 忽略文件

                    # target
                    # bin
                    # *.db
                    vi .gitignore
                    
                    1
                    2
                    3
                    4

                    # 配置

                    vim ~/.gitconfig

                    [user]
                    	name = xxx
                    	email = xxx@gmail.com
                    [http "https://github.com"]
                    	proxy = socks5://192.168.3.9:1080
                    
                    [http "https://gitlab.com"]
                    	proxy = socks5://192.168.3.9:1080
                    
                    1
                    2
                    3
                    4
                    5
                    6
                    7
                    8

                    # 设置代理

                    how to use git through a proxy (opens new window)

                    #git
                    Last Updated: 2024/04/23, 01:30:37
                    最近更新
                    01
                    go-kit学习指南 - 多协议支持
                    04-19
                    02
                    go-kit学习指南 - 中间件
                    04-19
                    03
                    go-kit开发微服务 - 服务注册与发现
                    04-19
                    更多文章>
                    Theme by Vdoing | Copyright © 2016-2024 铁匠 | 粤ICP备15021633号
                    • 跟随系统
                    • 浅色模式
                    • 深色模式
                    • 阅读模式