zoukankan      html  css  js  c++  java
  • Git 笔记

    基本配置

    如何在本地环境配置github - trigkit4 - SegmentFault 思否

    合并多个 commit

    很多时候都以为这次一定没问题了, 但是提交了之后才发现其实并没有解决问题, 因此就再次提交, 为了提交信息清爽、有效, 可以合并一些commit.

    • 方法一是通过 git rebase 合并的方法 [1]
    # 首先使用合并命令, 两种方法
    ## 一种是合并最近n次 commit
    git rebase -i HEAD~3
    ## 一种是合并到某个版本号
    git rebase -i 8fb7df
    
    # 合并
    ## 命令执行以后, 会弹出一个窗口
    pick 3ca6ec3   '注释**********'
    pick 1b40566   '注释*********'
    pick 53f244a   '注释**********'
    
    ## 将第一行之外的 pick 改为 squash 或 s, 然后 wq 保存
    pick 3ca6ec3   '注释**********'
    s 1b40566   '注释*********'
    s 53f244a   '注释**********'
    
    ## 保存成功之后就会弹出第二个文件, 如果不想修改 commit messgae, 只要继续 wq 保存即可完成合并.
    
    # This is a combination of 4 commits.  
    #The first commit’s message is:  
    注释......
    # The 2nd commit’s message is:  
    注释......
    # The 3rd commit’s message is:  
    注释......
    
    • 方法二
      通过 git reset 合并
    # 使用 git reset 命令回到两个 commit 之前的版本, 但并不撤销当前版本的代码
    git reset --soft HEAD~2  
    
    # 此时重新 commit 即可完成合并
    git commit --amend
    

    Git User Config

    使用不同的代码托管平台, 可能 username 和 email 也有所不同.

    • 全局配置, 为项目提供默认配置
      通过下面一条命令, 可以为电脑配置 git 默认的 name 和 email
    git config --global user.name 'name'
    git config --global user.username 'username'
    git config --global user.email 'address@mail.com'
    
    • 实际上, 执行该命令会在个人根目录下创建 .gitconfig 文件, 通过修改该文件能达到相同的效果
    [user]
    	name = name
    	email = address@mail.com
    
    • 局部配置, 针对项目进行专有配置
    git config --local user.name 'name'
    git config --local user.username 'username'
    git config --local user.email 'address@mail.com'
    
    • 同样地, 执行该命令会在 .git 文件夹下创建 config文件, 通过修改该文件能达到相同的效果
    [user]
    	name = name
    	email = address@mail.com
    

    撤销 commit

    与合并 commit 是类似的需求, 如果某一次 commit 提交的代码仍然有问题, 更麻烦的, 如果上传了一些奇奇怪怪的文件, 如果不小心上传了配置文件, 就需要撤销 commit.

    总之都是回到上个版本, 但是代码仍然保留, 重新修改即可重新 commit.

    git reset --soft HEAD^
    git reset commit-id 
    
    # 对于不小心 git add . 追踪的文件, 使用一下命令就可以取消追踪
    git checkout -- <file>
    

    1. Git 合并多个commit - nihao - SegmentFault 思否 ↩︎

  • 相关阅读:
    $(window).scrollTop()与$(dom).offset().top
    组织结构图
    杀人游戏
    猜数字游戏
    变量
    2018 -11-23 快捷键
    iOS开发—c语言 ATM取款机(全)2018-11-15
    iOS开发—c语言 ATM取款机(一)
    ios开发学习c语言第一天 2018-11-13
    iOS 面试题
  • 原文地址:https://www.cnblogs.com/imzhizi/p/git-note.html
Copyright © 2011-2022 走看看