git知识点

几个基本概念

  1. 创建本地版本库 git init
  2. git add filename 文件添加到本地版本库
  3. git commit -m “描述信息” 将add的那些文件给提交到本地的版本库
  4. git status 当前版本库的状态
  5. git diff filename 查看文件的内容的差异
  6. git log 版本库的提交记录 git log --pretty=oneline 一次显示一行
  7. 在git中 HEAD表示当前版本 ,HEAD^上一版本 HEAD^^以此类推 HEAD~100之前100个版本
  8. git reflog 查看命令历史

工作区和暂存区

工作区就是你本地的项目目录
.git是版本库,版本库中有stage(或者是index)称为暂存区
git add 实际上是把工作区的文件添加到暂存区
git commit是吧暂存区的内容提交到当前分支

untraced file

就是存在于工作区,但是不在版本库中也没有add到暂存区的文件

版本之间的切换

git checkout – file 丢弃工作区的修改,使得文件与版本库中一致。即便是工作区里面的文件被删除了,你也可以从版本库中回复过来
git reset HEAD file可以把暂存区的修改撤销掉,撤销当前没有commit的add操作

git reset --hard HEAD^ commit之后。回退到上一版本
git reset --hard commit_id 根据这个id来找到那一时刻的版本 ,只要id有了你就可以任意的回退版本

  • 用git log可以查看提交历史,以便确定要回退到历史的哪个版本。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

版本的切换实际上就是HEAD指针的改变而已,速度非常快

删除文件

git rm file 这里是把删除提交到暂存区,如果没有commit,就可以用git reset HEAD file 撤销。

如果已经commit就没办法了,只能回滚到上一版本去找到这个文件了

创建远程仓库

介绍使用github的方法,github是git托管服务器

创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看 这个目录下有没有idrsa和idrsa.pub这两个文件,如果已经有了,可 直接跳到下一步。如果没有,ssh-keygen -t rsa -C “youremail@example.com”
登陆github。点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

添加远程库

前提是你已经有了本地库 git remote add origin git@github.com:michaelliao/learngit.git
git push origin master 把本地库推送到远程库,第一次推送要加上-u

从远程库克隆

git clone git@github.com:michaelliao/gitskills.git

git 分支

我们看到的默认分支都叫master ,实际上你可以使用其他的分支,这样你原来的master就得到保护,最后确保先分支正确时将两个分支合并就可以了。。

这里需要理解的是指针,每一个分支都有一个指针,然后HEAD指针指向当前的分支,你创建一个新的分支之后呢,任意修改他,确保正确将master merge过来,即便处了重大事故,就直接切换回master 就好了,很方便。删除分支就是将相关的那个指针删掉了。

img

创建分支

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name>

忽略文件

.gitignore中加入忽略的文件名 例如.class,这些就不会出现在untraced file 文件列表了

在这里插入图片描述

设置git的免密连接远程仓库(码云为例)

首先去官网下载最新版本的Git
下载好后打开git bash
输入以下命令来生成sshkey:

ssh-keygen -t rsa -C "这里输入你的邮箱"

按照提示,连续三次回车,即可生成ssh key。通过~/.ssh/id_rsa.pub获取你的pubilc key

cat ~/.ssh/id_rsa.pub

会返回你的公钥,然后把获取到的公钥复制到你的码云上,标题是自定的。

img

码云

保存以后,回到git bash,输入以下来判断是否添加成功:

ssh -T git@gitee.com

一般来说会返回:Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.意思就是你已通过身份验证,但是gitee.com不提供shell访问。
经过如上操作,有的会发现还需重复输入密码,然后就要进行以下操作了,输入以下命令:

git config --global credential.helper store

然后push或者pull以下,会让你输入用户名密码,你输入第一次以后,接下来再进行操作就不用在此输入了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值