美文网首页
[Git] 命令备忘

[Git] 命令备忘

作者: 水止云起 | 来源:发表于2015-11-22 23:29 被阅读58次

    配置环境变量

    git config命令用来配置相应的工作环境变量,正是这些环境变量决定了Git在各个环节的具体工作方式和行为。这些环境变量可以存放在三个不同的地方:

    1. 针对系统所有用户的$(prefix)/etc/gitconfig,使用时加--system参数。
    2. 针对当前用户的~/.gitconfig,使用时加--global参数。
    3. 针对当前项目的.git/config,使用时加--local参数或不加参数。

    使用不同的参数就会读写相应地文件,每一个级别都会覆盖上一级别的相同配置。

    // 配置当前用户下的Git用户名和邮箱
    git config --global user.name ""
    git config --global user.email ""
    
    // 查看当前配置列表
    git config --list
    
    // 配置别名
    git config --global alias.st status
    git config --global alias.co checkout
    git config --global alias.ci commit
    git config --global alias.br branch
    git config --global alias.unstage 'reset HEAD'
    git config --global alias.last 'log -1'
    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    git config --global alias.llg "log -10 --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    

    版本控制

    // 初始化版本库
    git  init
    // 将文件修改添加到暂存区
    git add
    // 提交暂存区的修改到版本库
    git commit -m ""
    // 回退到指定版本
    git reset --hard commit_id
    // 回退到上一版本
    git reset --hard HEAD^
    // 撤销工作区的修改,回到最近一次提交的状态(若暂存区有提交的修改,则会退到暂存区修改的状态)
    git checkout -- file_name
    // 将提交到暂存区的修改撤回到工作区
    git reset HEAD file_name
    // 删除一个文件
    git rm
    // 停止追踪一个文件[目录]
    git rm [-r] --cached file_name
    // 修改最近两次提交历史
    git rebase [-i|--interactive] HEAD~2
    

    远程库相关

    // 创建一个远程库
    git remote add origin git@server-name:path/repo-name.git
    // 删除一个远程库
    git remote rm origin
    //向远程库推送最新修改
    git push origin branch_name
    // 向远程库推送最新修改,并建立当前分支与远程库对应分支的追踪关系
    git push -u origin branch_name
    // 克隆远程库
    git clone
    // 本地创建和远程分支对应的分支
    git checkout -b branch-name origin/branch-name
    // 建立本地分支和远程分支的关联
    git branch -t[--track] branch-name origin/branch-name
    // 建立已有本地分支和远程分支的关联(若不指定branch-name则使用当前分支)
    git branch --set-upstream-to=origin/branch-name branch-name
    // 清除本地分支与远程分支的关联(若不指定branch-name则使用当前分支)
    git branch --unset-upstream branch-name
    // 从远程抓取分支
    git pull
    // 删除远程分支
    git push origin --delete branch-name
    // 删除远程分支后,本地的对应远程分支依然存在,使用以下命令进行删除(其中参数-p为prune修剪的意思)
    git fetch -p
    

    分支管理

    // 查看分支
    git branch
    // 创建分支
    git branch branch_name
    // 切换分支
    git checkout branch_name
    // 创建并切换分支
    git checkout -b branch_name
    // 合并另一个分支的内容到当前分支
    git merge branch_name
    // 删除分支
    git branch -d branch_name
    // 保存工作现场,清空工作区
    git stash
    // 恢复最近一次保存的工作现场,并删除保存记录
    git stash pop
    

    查看相关信息

    // 查看版本库工作区状态
    git status
    // 查看文件的修改
    git diff
    // 查看提交历史
    git log --graph --pretty=onelien --abbrev-commit
    // 查看命令历史
    git reflog
    // 查看远程库信息
    git remote -v
    

    标签

    // 查看所有标签
    git tag
    // 新建一个标签(默认为HEAD,也可以指定一个commit_id)
    git tag tag_name
    // 指定标签信息
    git tag -a tag_name -m ""
    // 推送一个本地标签
    git push origin tag_name
    // 推送全部未推送过的本地标签
    git push origin --tags
    // 删除一个本地标签
    git tag -d tag_name
    // 删除一个远程标签
    git push origin :refs/tags/tag_name
    

    暂存

    git stash
    git stash list
    git stash pop
    git stash apply stash@{0}
    git clear
    

    相关文章

      网友评论

          本文标题:[Git] 命令备忘

          本文链接:https://www.haomeiwen.com/subject/cofrhttx.html