zoukankan      html  css  js  c++  java
  • Git常用命令整理

    学习资料来源:

    后期会不定期更新 
     

    2020-4-16更新
    • git fetch origin 分支名称

    获取远端分支至本地


      2019-12-27更新
    • git remote set-url origin 新地址
        更换远程仓库地址

     
    操作指令:
    • git config --global user.name "Your Name"
    • git config --global user.email "email@example.com"
    设置当前电脑上的Git仓库的用户名和Email地址, --global参数表示所有仓库都使用这个配置
    • pwd
    用于显示当前目录,PS:为了不出错,确保目录名不包含中文
    • git init
    将当前目录初始化为git仓库,会创建一个.git文件夹,用来跟踪管理版本库
    • git add 文件名(可多个文件,空格隔开)
    将文件添加到暂存区
    • git add .

    将工作区内所有修改文件添加到暂存区

    • git commit -m "描述性文字"
    将暂存区的文件提交到仓库中,描述性文字是必填的(可通过修改配置实现不添加描述也能提交,但不建议这么做)
    • git status
    查看当前仓库状态,例如有哪些文件做了修改还未提交
    • git diff
    查看当前工作区与暂存区的不同之处
    • git log
    查看仓库每次提交的历史记录
    • git log --pretty=oneline
    格式化log输出效果,将每次提交记录显示在一行
    • git reset --hard 版本号
    回退到仓库中的某个版本(也可以是未来的某个版本),版本号可以写head^,也可以写 commit id(不用全写出来,写前几位,能与其他的区分开即可)
    • git reflog
    查看每一次git命令记录(commit及reset记录)
    • git checkout -- 文件名
    撤销文件在工作区内的修改,还原到最近一次add或是commit的状态
    • git reset HEAD 文件名
    撤销文件在暂存区内的修改,将暂存区还原到HEAD版本(最新commit的版本)的状态
    • git rm 文件名
    提交删除文件操作到暂存区
    • git remote add origin git@server-name:path/repo-name.git
    将本地仓库关联远程仓库(按实际地址修改后面的地址名称,ssh协议地址或是https协议地址均可,ps:ssh协议更快)
    • git push -u origin master
    第一次将本地仓库代码推送到远程仓库时使用的命令
    • git push origin master
    将本地仓库修改的代码推送到远程仓库
    • git clone git@server-name:path/repo-name.git
    将远程仓库代码克隆到当前文件夹下(按实际地址修改后面的地址名称,ssh协议地址或是https协议地址均可)
    • git branch 分支名称
    创建分支
    • git branch
    查看所有分支及当前分支
    • git branch -d 分支名称
    删除指定分支(PS:不可删除当前工作区所在分支)
    • git branch -D 分支名称
    如果需要删除的分支未合并,是不能删除的,把参数改为大写的D,即可删除
    • git checkout 分支名称
    切换分支
    • git checkout -b 分支名称
    创建并切换到该分支
    • git merge 分支名称
    将命令中指定的分支,合并到当前分支
    • git log --graph --pretty=oneline --abbrev-commit
    查看分支合并情况记录
    • git merge --no-ff -m "commit描述信息" 分支名称
    合并分支时禁用“fast forward”模式,并对合并操作创建一个新的commit,保留分支信息
    • git stash
    将当前工作内容暂时保存起来,保存在一个stash列表里,并将当前分支的工作区还原成未修改的状态
    • git stash list
    查看所有stash存储的记录列表(不区分分支,其他分支保存的stash,在当前分支也能看到)
    • git stash apply
    还原最后一次保存的stash状态至当前分支工作区,不清除该条stash记录
    • git stash apply stash记录标识   例如:git stash apply stash@{1}
    还原指定stash状态至当前分支工作区,不清除该条stash记录
    • git stash drop
    删除stash列表中第一条记录(最后一次保存的stash)
    • git stash drop stash记录标识   例如:git stash drop stash@{1}
    删除stash列表中指定记录
    • git stash pop
    还原最后一次保存的stash状态至当前分支工作区,并清除该条stash记录
    • git stash clear
    清空stash记录
    • git remote
    查看远程仓库对应的名称
    • git remote -v
    查看远程仓库的详细信息,包括抓取和推送的远程仓库的地址
    • git push 远程仓库名称 分支名称    例如:git push origin master
    将本地分支代码推送到远程仓库
    • git pull
    从远程仓库上抓取最新代码
    • git rebase
    俗称“变基”, 把分叉的提交历史“整理”成一条直线,看上去更直观。
    • git tag 标签名称        例如:git tag v1.0
    给当前最新commit上打标签(可以打多次标签)
    • git tag 标签名称 commit id        例如:git tag v1.0 f52c633
    给指定commit添加标签
    • git tag
    查看所有标签(标签按字母排序,而非时间顺序排序)
    • git show 标签名称
    查看标签信息,包括commit id、提交的作者、提交的时间、提交的描述、提交修改的内容、标签说明等
    • git tag -a 标签名称 -m "描述文字" commit id        例如:git tag -a v0.1 -m "version 0.1 released" 1094adb
    给指定commit添加带有说明的标签,-a指定标签名称,-m指定描述信息
    • git tag -d 标签名称
    删除标签
    • git push 远程仓库名称 标签名称        例如:git push origin v1.0
    将本地的某个标签推送到远程仓库
    • git push 远程仓库名称 --tags
    将本地所有未推送到远程仓库的标签一次性推送
    • git push 远程仓库名称 :refs/tags/标签名称        例如:git push origin :refs/tags/v0.9
    删除远程仓库的标签
    • git add -f 文件名
    如果某个文件被.gitignore文件忽略了,可以加上-f来强制添加到暂存区
    • git check-ignore -v 文件名称
    查看是.gitignore文件中的哪条规则忽略了该文件
    • git config --global alias.别名 命令名        例如:git config --global alias.st status
    给命令设置别名,例如设置st代表status,则git status可以写作git st,若后续想删除别名,在.git/config文件中找到[alias]后,删除别名对应的行即可
    • touch .gitingore
    在工作区中生成一个.gitignore文件
     
  • 相关阅读:
    109 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 05 问题解析--通过一个方法完成学生和专业的双向关联
    108 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 04 问题解析--数组未实例化造成的空指针异常
    107 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 03 编写方法完成学生个数统计功能
    106 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 02 新增属性完成学生信息存储
    105 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 03 新增功能及实现 01 新增需求及分析
    session与cookie的区别和联系
    session和cookie的区别
    Web服务器主动推送技术
    webSocket的场景应用
    TCP、Http和Socket 优劣比较
  • 原文地址:https://www.cnblogs.com/happymental/p/10596445.html
Copyright © 2011-2022 走看看