git 的使用记录(慢慢更新)

说实话git 也使用挺久了,可是有写指令不常用,经常不记得指令,所以记录一下用法,
防止自己的遗忘;

github使用搜索技巧

在这里插入图片描述

参考:https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192

知乎git


理解缓存机制十分重要(中间的状态)
在这里插入图片描述

git status 可以查看查看当前项目的一些修改情况;
但是如果需要查看具体的修改的话,还是需要使用 git diff xx (文件名)

像这样,你不断对文件进行修改,然后不断提交修改到版本库里,
就好比玩RPG游戏时,每通过一关就会自动把游戏状态存盘,如果某一关没过去,你还可以选择读取前一关的状态。有些时候,在打Boss之前,你会手动存盘,以便万一打Boss失败了,可以从最近的地方重新开始。

Git也是一样,每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失。

确实这个Git 不就像一个游戏吗;

需要回退的话,可以使用 git reset --hard xxx(版本号), 这里分软与硬hard /soft
soft 只会撤销 commit ,不会撤销,整个版本;


git rm用于删除一个文件

git rm –cached

git rm命令是把建立的版本库索引(index)和那个文件一起删除了。加上cached之后,就只删除索引,不删除文件本身。 与git
add相应的取消操作并不是git rm,而是git rm –cached。这是需要非常注意的地方。

撤销
在这里插入图片描述
git checkout -- file命令中的–很重要,没有--,就变成了“切换到另一个分支”的命令(注意-- 前后都有空格)

git log命令显示从最近到最远的提交日志,我们可以看到3次提交;

git reflog ,可以看到每一次我们使用的命令;

版本撤销与回退的几种情况

  • 在工作区(还未add)
    直接在删除即可, 或者使用 git checkout --文件名;

  • 在暂存区(add之后, commit 之前)
    使用 git status , 可以先查看状态, 在使用提示
    git reset HEAD 文件名, 也是进行回退,

  • 在版本库(commit 之后)
    commit之后 ,则是相当于提交了文件,
    这里进行的则是版本回退,
    而 版本回退有分为 三种情况 hard, mixed, soft 三种模式
    git reset --参数 commit id

  1. –hard, 这时会将所有内容还原, 指向指定相应的commit id , 所在的位置;
  2. –mixed, 这个是一个默认值, 将HEAD 指向, 并将快照回滚到暂存区域;
  3. –soft, 只是移动HEAD 的指向,指向相应的快照;

在这里插入图片描述

在这里插入图片描述

关于远程代码回退: 需要使用force


分支的合并与创建(checkout /switch 均可实现)

创建分支: git checkout -b dev (创建一个dev的分支)
==>

git branch dev
git checkout dev

git branch (查看分支)命令会列出所有分支,当前分支前面会标一个*号。

切换分支: git checkout master


值得注意的是: 当执行切换分支的时候, 需要先将执行git add. 就是记得一定一定要先提交
当执行 “git checkout .” 或者 "git checkout – " 命令时,
会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。

分支的合并:git merge dev ; 建议使用git merge dev --no-ff, 可以查看更加详细的信息

1.这里的合并的分支是,master 没有修改, 而dev修改了,就可以直接合并
2.当master 也同时修改与提交了话:
此时Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

git log --graph命令可以看到分支合并图


删除:
git branch -d dev 1. (这是对已经合并的分支)
对于舍弃的分支(未合并):2. git branch -D dev; 进行强行删除
在这里插入图片描述


本地的操作差不多已经完成;

在提交到远程仓库的时:

主支提交 : git push origin master
分支提交 : git push origin dev

在这里插入图片描述

人工作的模式:
我的另一篇:
https://blog.csdn.net/ZHXT__/article/details/102370507

在这里插入图片描述



标签:(相当于版本号)
生成:
git tag xx ,命名标签;
git tag , 查看标签

删除:

git tag -d vx.xx(0.1)

推送到远端 :

git push origin v1.0

一次性推送: git push origin --tags
在这里插入图片描述



配置别名
git config --global alias 别名 原名

例如

 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.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中:
别名就在[alias]后面,要删除别名,直接把对应的行删掉即可。

当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:


总结:

  • 1 git status 查看状态;
  • 2 git add. git commot -m “xx”
  • 3 git checkout dev 在切换分支;
  • 4 git merge xx --no-ff ; :q ; git log
  • 5 git push origin dev (推送到远端的分支上)
    再去github 查看 防止出现问题;
  • 6 git branch 查看分支;
  • 7 git branch -d xx



主要防止自己的遗忘
在这里插入图片描述
1.在本地直接使用 git init 就可以初始化一个本地仓库;
2.在GitHub中安提示即可创建一个仓库,但是值得注意的是,两则最好不要存在重复的东西,比如readme之类的,不然会不好处理;

方法一:

这里指的注意的是在本地的话,记得先提交到本地,在push到远程,不然会提示提交为空的error

.接下来就是将本地仓库与云端的练习起来,
指令:
1.git remote add origin https://github.com/xx/xxx.git

2.git push -u origin master

用git push命令,实际上是把当前分支master推送到远程;由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
————————————————

方法二

先将gihub的内容先clone 先来;

在将本地仓库复制进去,
在进行 远程仓库的提交
git add .

git commit -m "xxx"

git push

在这里插入图片描述
(git remote, git remote -v)查看远程库的信息

值得补充一点的是: 这里的remote , 可以分为:https 与ssh 两种,
但是https 使用时,每次提交都需要,重新的输入密码,比较麻烦,

所以推荐使用 ssh 来关联

$git remote rm origin    //取消关联库

9/10
首先我们在本地使用vue-cli 初始化一个 项目的时候, 这里会自动创建一个.git的文件,也就是说我们不会使用git init 的操作了;

可以直接使用 git remote add origin xxxxx;
然后在 git push origin master ;


此时我们如果想创建另一个分支的话, git checkout -b dev (创建一个开发环境)

再次使用 git push origin dev
这两个分支可以互不影响;此时两个分支就已经创建好了

组员的话开发的话,会再此创建一个分支,可以方便自己的编写,写完之后,在将其合并;

git checkout -b  components1

git clone

关于git clone , 普通的clone只会克隆一个下来
git clone默认会把远程仓库整个给clone下来;
但只会在本地默认创建一个master分支
如果远程还有其他的分支,此时用git branch -r查看所有分支:
再使用 git checkout 切换过去即可了

参考: 添加链接描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值