git常用技巧汇总

1、git前置知识

        1.1、git模块

        这张图来源于这位大哥的博客:git代码撤销回滚只看这一篇就足够了!_git 撤销回滚_茁壮成长的凌大大的博客-CSDN博客

        git划分了4个区域:

        (1)working Directory也称为工作区,是本地存放项目代码的地方

        (2)Stage:暂存区,暂存区有3种状态:Untracked files(未追踪的文件,一般就是新增加的文件)、modified修改了文件、工作区为红色暂存区为绿色)、deleted(删除了文件)

                        工作区修改并未提交到暂存区 

                         工作区修改并提交到暂存区

                         工作区新增了文件未添加到暂存区                

                         工作区删除文件未添加到暂存区 

        (3)本地仓库

        (4)Remote Directory: 指的是像github或者gitee这种远程仓库

        1.2、git秘钥配置(windows)

#在git bash输入如下指令

#当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息,不然每次拉代码或者提交代码都要输入验证信息!

git config --global user.name "你的名字或昵称"

git config --global user.email "你的邮箱"

C:\Users\answer

#配置密钥,密钥的作用:当本地仓库中的项目上传到远程仓库(github或者gitee)的时候,实现免登录验证的方式

#默认情况下密钥是没有的,需要在git bash输入如下指令

 ssh-keygen

 将id_rsa.pub 文件下的所有内容(即为密钥)复制到gitee的这里:

        1.3、mac终端显示当前git分支

        mac、linux不像window有个git bash那么方便能显示当前处在哪个分支, 以及提交状态的颜色变化,安装插件 oh-my-zsh就能有git bash效果  

(1)查看当前使用的 shell:echo $SHELL 或者 echo $0 

(2)查看安装的 shell:cat /etc/shells

(3)切换为zsh: chsh -s /bin/zsh

(4)mac 上终端显示git分支插件 oh-my-zsh,并在终端terminal输入如下指令:

sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)"

(5)切换到含有git仓库的文件中显示如下的效果说明安装成功!

2、git常用命令

(1)常规操作命令 

git add 文件名          #将工作区文件添加到暂存区

git commit -m "提交信息"  #将暂存区的内容添加到存储区(本地仓库)

git push 远程分支       #将本地仓库 的内容添加到远程仓库

git pull         #将远程仓库的内容更新到本地仓库

git clone 项目地址    #将远程仓库克隆到本地

(2)查看类命令

git status               #查看暂存区状态

 

 

 

(HEAD-> xxx)代表当前分支(origin/xxx)代表远程仓库分支

git log         #查看提交到本地仓库的记录

git log --oneline         #一行显示提交到本地仓库的记录

git log --graph         #图形化提交到本地仓库的记录

 

(3)撤销类命令(用于存储区内容回退)

结论:重点看reset、checkout,restore虽然是官方推荐,但是个人感觉太繁琐了;revert是reset特定模式!

git checkout 文件        #放弃工作区修改并未提交到暂存区的内容

        工作区test.txt文件(未被修改)

         

        修改了test.txt但是未提交内容到暂存区

        

        输入 git checkout test.txt 指令

        

git reset 模式  版本

        模式:

                --soft:保留代码修改部分,并且回到暂存区

                --mixed(默认模式):保留代码修改部分,并且回到暂存区之前

                --hard(慎用!):代码修改部分消失,并且回到暂存区之前

        版本:

                head~        上一个版本

                head~~      上上个版本

                commit版本号

 

        test.txt原先文件

        

 

        修改并提交代码到本地仓库

        

         git reset head~ --soft:保留代码修改部分,并且回到暂存区

 

        git reset head~ --mixed:保留代码修改部分,并且回到暂存区之前

 

         git reset head~ --hard:代码修改部分消失,并且回到暂存区之前

 

git revert 版本号+1  = git reset 版本号 --hard

         test.txt原先文件

        

        修改并提交代码到本地仓库

        

        git log --oneline        查找提交日志

 

        我想回到   删除master 提交记录的时候,revert版本号要往前移动一位,即复制修改test前面的版本号 51692dd

 

        git revert 51692dd

 

git restore --staged 文件        #撤销暂存区修改内容

 

  已经推送到远程分支的代码记录,是无法撤销的,只能是撤销回来本地的改完再提交回去,但是无法撤销以前的提交记录。

(4)分支类命令(多人协同开发)

git branch 分支名        #创建分支

git branch -d 分支名        #删除分支

git checkout -b 分支名        #创建并切换到新分支

git checkout 分支名、git switch 分支名          #切换分支

git merge 分支名        #将目标分支名合并到当前分支

 

(5)缓存类命令(当前正在开发,突然遇到紧急bug修复,又不想提交代码到存储区)

git stash save "暂存备注"        #将当前分支修改的内容缓 存起来

        test.txt原先文件

        

        修改了代码

        

        遇到紧急bug需要修复,故缓存本次修改

        切换别的分支处理完bug,在切换到当前分支master 

git stash list       #查看有多少个缓存,重点关注索引号

 

git stash apply 索引号         #恢复指定缓存区的内容

 

3、git冲突处理

        3.1、冲突出现情况

                (1)多人协作,多人对同一文件同一行内容进行修改

                (2)远程仓库更新了,你本地仓库未同步远程仓库就直接提交记录到远程仓库

                (3)git stash apply弄错分支

        3.2、冲突在git中体现

                远程仓库修改了test.txt

        

                工作区提交修改到远程仓库:提示你要同步远程代码了

 

        点击右侧蓝色按钮

冲突解决完之后要重新提交到存储区,之后在提交到远程仓库 

  

4、vscode中git操作

        4.1、安装GitLens插件

                它能查看到提交历史记录等等git信息

 

        4.2、操作介绍

         vscode 提交 = git add + git commit,一步提交到存储区(本地仓库 )

       

        工作区撤回按钮 =  git checkout 文件        #放弃工作区修改并未提交到暂存区的内容

        工作区+ 代表添加到暂存区 

        M 代表状态为 modified 修改文件,未被添加到工作区

       

        点击修改的文件,出现文件比对,左边红色为存储区内容,右边绿色为当前修改内容

 

         vscode 同步 = git push 远程仓库,提交到远程仓库

 

        本地仓库撤回 = git reset 版本 --soft 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值