• git简单使用总结


    一、git配置

    git config

    1.git config --global user.name "ken"

    配置用户名
    2.git config --global user.email "ken@gmail.com"
    配置邮箱

    3.git config --global --list

    查看当前设置

      

    二、git查看

    git log

    查看git操作日志

    git status

    查看当前git状态

    三、git获取

    git clone

    克隆远程版本库到本地

    git fetch

    仅获取远程版本库的分支

    git pull

    获取远程版本库的分支且合并到本地分支中

    四、git提交

    git init

    在文件夹中输入git init可以创建新的版本库

    git add

    1.将新文件添加到版本库中进行跟踪

    2.将文件的修改更新到暂存区

    git rm

    1.git rm

    从版本库索引和当前目录同时删除

    2.git rm --cached xxx

    仅在版本库索引中删除,xxx仍然在当前目录中,这样就可以放弃对xxx文件的版本控制

    3.仅在当前目录中删除,则版本库索引中未删除

    git commit

    1.git commit

    将暂存区更新提交到本地版本库

    2.git commit -a

    提交当前修改到本地版本库中,包括更新修改到暂存区

    git push

    将当前的一系列commit结果提交到远程版本库

    五、git反悔

    撤销文件更新

    git checkout filename

    放弃对文件的修改,不将文件的修改放到暂存区,则当前目录中的文件恢复原样

    撤销暂存区更新

    git reset HEAD xxx

    修复最近一次commit

    先git commit,然后发现之前的commit不够完善并进行修改,最后git commit --amend

    重置到某次commit

    git reset --hard xxx

    如果已经push到远程版本库则比较难撤销或修改,可以创建新的commit修复。下面提供一些方案:

    1. 修复最近一次commit+push

    git commit

    git push

    发现commit不完善进行修改

    git commit -–amend

    git push –f (确保没有其他人获取之前的commit)

    操作会导致远程版本库抛弃之前的commit点,用amend后的commit点代替

    2. 修复reset+push

    git reset

    git push –f

    操作会导致从本地版本库和远程版本库的共同根节点开始抛弃远程版本库的commit点,用本地push的commit点代替

    六、git分支

    git branch

    1.git branch xxx

    创建新的分支

    2.git branch

    查看本地版本库分支

    3.git branch –r

    查看远程版本库分支

    git checkout

    1.git checkout xxx

    切换到xxx分支

    2.git checkout –b xxx

    创建并切换到xxx分支

    git merge xxx

    将xxx分支合并到当前分支中

    七、git标签

    git tag

    详细内容可参考:http://blog.csdn.net/wangjia55/article/details/8793577

    八、git对比

    git diff

    九、git冲突处理(non-fast-forward)

    (整个冲突处理过程最好不断使用git status查看提示操作!)

    1、如上图,当本地的commit B和远程的commit A之间形成冲突时,可以使用git pull进行处理。此时本地会产生commit A和commit B的冲突合并,进行冲突处理后,再进行commit时,此时的commit C是基于commit A和commit B的,可以直接push。

    2、如上图,当本地的commit B和远程的commit A之间形成冲突时,可以使用git pull --rebase进行处理。此时会产生commit A和commit B的冲突合并,进行冲突处理后,再进行git add和git rebase --continue,形成commit后,此时的commit C仅基于A,可以直接push。这样的好处是可以形成单链结构。

     

    十、git过程图

  • 相关阅读:
    NYOJ 1073 最大值 (模拟)
    NYOJ 1063 生活的烦恼 (二叉树)
    NYOJ 1022 合纵连横 (并查集)
    [leetcode-553-Optimal Division]
    [leetcode-496-Next Greater Element I]
    [leetcode-556-Next Greater Element III]
    [leetcode-500-Keyboard Row]
    [leetcode-36-Valid Sudoku]
    [leetcode-127-Word Ladder]
    [leetcode-567-Permutation in String]
  • 原文地址:https://www.cnblogs.com/littlebugfish/p/4098156.html
Copyright © 2020-2023  润新知