zoukankan      html  css  js  c++  java
  • git 常用操作笔记

    初始化本地仓库

    git init

    设置git签名

    项目级别设置git签名:
    签名保存在当前项目文件夹下的.git文件夹的config文件中
    git config user.name 用户名
    git config user.email 邮箱
    
    全局设置git签名
    签名保存在C:UsersAdministrator.DESKTOP-DD13B5F.gitconfig
    git config --global user.name 用户名
    git config --global user.email 邮箱

    查看状态,提示红色代表文件有改动,提示绿色代表有改动并且已经加入本地暂存区

    git status

    追踪文件添加到暂存区

    #追踪所有文本,提交到暂存区
    git add.
    #追踪某个文件,提交到暂存区
    git add 文件名

    移除提交到暂存区的文件

    #移除指定文件
    git restore --staged 文件名
    #移除所有文件
    git restore --staged .

    在未提交到暂存区之前,撤销修改

    #撤销所有文件的修改
    git restore .
    #撤销某个文件的修改
    git restore 文件名

    将暂存区更改的内容提交到本地仓库

    #提交单个文件
    git commit -m "这里是本次提交的注释信息" 文件名、
    #提交全部
    git commit -m "这里是本次提交的注释信息"

    commit回滚

    #HEAD^表示上一个版本
    #HEAD 表示当前索引指针,始终指向当前项目索引
    #--soft:不删除代码,仅仅撤销commit,不撤销 git add
    #--hard:删除工作空间改动代码,撤销commit,撤销git add . 
    #--mixed:不删除工作空间改动代码,撤销commit,撤销git add .
    
    #例:
    #1.不删除工作空间改动代码,撤销commit,不撤销add,HEAD^表示撤销到上一个版本
    git reset --soft HEAD^
    
    #2.
    #打印历史版本
    git reflog
    #撤销到指定版本,Hash值可以通过git log,git reflog获得,git log能查看当前Head指向的版本索引
    git reset --hard Hash值
    
    3.
    #回退指定步数
    #回退三步
    git reset --hard HEAD~3
    #更多详情:https://blog.csdn.net/w958796636/article/details/53611133

    显示历史提交

    #简洁显示,并缩短hash
    git log --oneline
    
    #带回退步骤显示历史
    git reflog
    
    #简洁显示,不缩短hash
    git log --pretty=oneline

    差异对比

    #git diff命令其实是将工作区的文件和暂存区进行对比
    #git diff命令并不会显示新增的文件
    
    #将工作区和暂存区的所有文件比较差异
    git diff
    
    #将工作区和暂存区的某个文件比较差异
    git diff 文件名
    
    #将工作区和本地库某个文件比较差异
    git diff HEAD 文件名
    
    #将工作区和本地库所有文件比较差异
    git diff HEAD
    
    #将工作区某个文件和本地库某个版本的某个文件比较差异
    git diff 版本Hash 文件名
    
    #将工作区和本地库某个版本的所有文件比较差异
    git diff 版本Hash

    创建分支

    git branch 分支名
    查看分支
    
    git branch -v 
    切换分支
    
    #分支名可以使用tab自动补全
    
    git checkout 分支名

    合并分支

    #首先切换到需要合并到的分支
    git checkout master
    #查看当前所在分支
    git branch -v
    #合并分支,将login分支合并到master
    git merge login

    查看远程仓库别名

    git remote -v

    推送到远程仓库

    git push 仓库别名 分支名
    
    例
    git push origin master
    强制推送:
    git push -f origin master
    
    注释: origin远程仓库名,master分支名,-f为force,意为:强行、强制。
    当本地仓库和远程仓库有冲突时,可以使用这个命令,这个命令的意思就是强制用本地的代码去覆盖掉远程仓库的代码

    拉取远程仓库代码同步到本地

    git pull

    引用别人项目为自己项目的子模块

    git submodule add 别人项目地址 子模块名
    
    例:git submodule add https://github.com/icedland/iced.git iced

    克隆项目

    git clone 项目地址
    克隆项目高级用法: 例:git clone
    --depth 1 https://github.com/dotnet/runtime.git --branch v5.0.2 解释: --branch v5.0.2 表示克隆标签为 v5.0.2的版本 --depth 1表示克隆最近一次提交
  • 相关阅读:
    5.19 省选模拟赛 T1 小B的棋盘 双指针 性质
    5.15 省选模拟赛 容斥 生成函数 dp
    5.15 省选模拟赛 T1 点分治 FFT
    5.15 牛客挑战赛40 B 小V的序列 关于随机均摊分析 二进制
    luogu P4929 【模板】舞蹈链 DLX
    CF 878E Numbers on the blackboard 并查集 离线 贪心
    5.10 省选模拟赛 拍卖 博弈 dp
    5.12 省选模拟赛 T2 贪心 dp 搜索 差分
    5.10 省选模拟赛 tree 树形dp 逆元
    luogu P6088 [JSOI2015]字符串树 可持久化trie 线段树合并 树链剖分 trie树
  • 原文地址:https://www.cnblogs.com/fuhua/p/13383847.html
Copyright © 2011-2022 走看看