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

    从我的notion文档迁移到的博客园:[https://www.notion.so/Git-48578f3237274e11963b116b293b448d)

    一、仓库同步

    1、获取远程仓库到本地:本地不存在

    git clone

    2、推送本地仓库到远程:远程为空

    git init
    git add —all
    git commit -m "init"
    git remote add origin
    git push -u origin master

    注:git remote rm origin(删除远程源)

    3、推送本地仓库到远程:都不为空

    git remote add origin
    git pull origin master //此时会报错,Git :fatal: refusing to merge unrelated histories

    git pull origin master --allow-unrelated-histories

    参考:https://blog.csdn.net/qq_39400546/article/details/100150320

    二、查看Commit历史

    1、查看提交日志

    • 查看所有Commit记录

      git log

    • 根据文件查看Commit记录

      git log --follow README.md

    2、根据日志中的Commit ID查看明细

    • 根据Commit ID查看某次提交明细

      git show e3dea7d7f5a1d5384fa399c45f6b7376d36b08a7

    • 根据Commit ID及File查看某次提交的具体文件

      git show e3dea7d7f5a1d5384fa399c45f6b7376d36b08a7 README.md

    3、其它

    • 查看文件各代码行的修改时间戳

      git blame README.md

    参考:https://www.cnblogs.com/tigerson/p/7149947.html

    三、Git本地3大区

    工作区、暂存区和版本库

    • 工作区(Working Directory)是我们直接编辑的地方,例如 VS Code 打开的项目,记事本打开的文本等,肉眼可见,直接操作。
    • 暂存区(Stage 或 Index)数据暂时存放的区域,可在工作区和版本库之间进行数据的友好交流。
    • 版本库(commit History)存放已经提交的数据,push 的时候,就是把这个区的数据 push 到远程仓库了

    • git diff 命令判断各区间数据是否一致

    参考:https://blog.csdn.net/qq_32452623/article/details/78417609

    四、分支

    1、查看分支信息

    git branch //查看本地分支

    git branch -r //查看远程分支

    git branch -a //查看本地&远程分支

    git branch -vv //查看本地&远程分支映射

    2、创建&切换分支

    • git branch //创建分支
    • git checkout | git switch //切换分支
    • git checkout -b | git switch -c //创建&切换分支
    • git checkout -b origin/ //本地创建与远程分支对应的分支(远程分支必须存在)
    • git branch -m <old_branch> <new_branch> //重命名本地分支
    • git push -u origin //本地分支推送到远程仓库(-u并映射)

    3、合并分支

    git merge

    4、删除分支

    git branch -d //删除本地分支

    git branch -D //强制删除本地分支

    git push origin --delete //删除远程分支

    5、其它

    当“bug”在其它一个Branch里解决了要复制到另外一个分支(当前分支),采用如下命令:

    git cherry-pick 4c805e2(Commit ID)

    五、其它

    1、.gitignore忽略失效的解决方法

    对于已经提交过的文件/文件夹,若重新加入.gitignore需要先从缓存中移除

    (1)单个文件

    git rm --cached logs/xx.log

    (2)单个文件夹

    git rm --cached -r logs

    (3)整个移除

    git rm --cached -r .

    参考:使用.gitignore忽略文件或者文件夹及其失效解决方法

    2、撤销上次修改

    (1)撤销工作区

    • git checkout — <file/folder>

    (2)撤销暂存区

    回到工作区,

    • git reset HEAD <file/folder>

    (3)撤销版本库(即Commit)

    回到暂存区,

    • git reset --soft HEAD^ //撤销上一个Commit

    参考:git commit之后,想撤销commit

    3、标签

    (1)基础命令

    git tag -a -m //创建标签

    git tag //基于Commit创建标签

    git push origin //推送标签到远程

    git tag //查看标签

    git show //查看标签明细

    git tag -d //删除本地标签

    git push origin :refs/tags/ //删除远程标签

    (2)从标签获取代码

    -B除了创建及切换分支外,还会覆盖同名的分支

    git checkout -b

    git checkout -B

    4、回退到某次Commit

    --hard 物理回退(彻底回退版本,连本地文件都会被回退到上个版本的内容)

    git reset --hard HEAD^ //上一个版本

    git reset --hard HEAD^^ //上上个版本

    git reset --hard HEAD~100 //往前推100个版本

    git reset --hard //某次提交

    六、推荐

    1、官网

    https://git-scm.com/book/zh/v2

    2、廖雪峰Git教程

    https://www.liaoxuefeng.com/wiki/896043488029600

  • 相关阅读:
    2014年辛星完全解读Javascript第六节 对象
    2014年辛星完全解读Javascript第五节 break和continue与错误处理
    2014年辛星完全解读Javascript第四节 流程控制语句
    2014年辛星完全解读Javascript第三节
    移动端滑动卡顿问题
    移动端iOS阻止橡皮筋效果
    inline-block 元素之间的空白问题
    初识webview
    原型链、prototype、_proto_那些事
    VMware workstation转到vsphere解决办法
  • 原文地址:https://www.cnblogs.com/hepc/p/13882397.html
Copyright © 2011-2022 走看看