学 git 看这一篇就够了!

1、什么是git?

Git 是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。本教程可以让读者快速上手操作 Git 命令。

要学习git命令或者构造自己的私人代码仓库,推荐使用有私有空间和公有空间的 gitee (即码云),gitee支持在新建项目时直接导入已有的 GitHub 仓库,想要下载哪个项目的源码,直接输入对应的 GitHub 仓库地址即可

2、安装git(windows)

下载地址: http://msysgit.github.io/.

安装成功之后会跳出一个弹窗,我们需要在弹窗中设置用户名和邮箱,然后就可以使用git了

$ git config --global user.name "用户名"
$ git config --global user.email "邮箱"

3、git基础使用

// 创建git仓库(点开显示隐藏的项目就可以看到)
$ git init

// :查看当前操作状态
$ git status 

// 从工作区向添加暂存区添加文件,文件可以添加一个或多个,.表示全部
$ git add 文件名

// 备注:把暂存区的内容提交到分支
$ git commit -m '备注'

// 版本穿梭,回退版本状态
$ git reset --hard commit提交id前七位 

// 查看日志内容
$ git log: 查看日志
$ git reflog:查看全部日志

// 查看修改的内容
$ git diff 文件名

// 用于删除一个文件。
// 如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
$ git rm 文件名

4、git分支

工作区有一个隐藏目录 .git ,这个不算工作区,而是 Git 的版本库。
Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫 index)的暂存区,还有 Git 为我们自动创建的第一个分支 master,以及指向 master 的一个指针叫 HEAD。

学 git 看这一篇就够了!_第1张图片

// 创建分支:
​$ git branch 分支名称

// 创建并切换
​$ ​git checkout -b 分支名称

// 删除分支:
​$ git branch -d 分支名称

// 查看分支:
​$ git branch -a

// 切换分支:
​$ git checkout 分支名称

// 合并分支:合并某分支到当前分支
$ git merge 把哪个分支合并到当前分支
	在合并时会有两个分支文件冲突,解决合并冲突的方式:手动修改
​	查看分支合并情况:git log --graph

5、连接远程仓库

到目前为止你已经学会基本的使用git操作文件提交回退删除到暂存区了

接下来就要学习如何连接远程仓库了

远程仓库有gitee、GitHub 仓库,可以选择任意的,由于github是国外的网站需要加速访问

前提需要在github上创建一个仓库,复制该仓库的地址,

// 显示所有远程仓库
$ git remote -v

// 将本地仓库与远端仓库建立一个链接(首先要保证git init)
$ git remote add origin 'https://www.github.com/...'(需要输入账号密码)
$ git remote add origin '[email protected]:.../learngit.git'(需要配置ssh公钥)
	配置了ssh公钥后再进行连接时就不需要输入账号密码了

配置ssh密钥:

第一步:
创建 SSH Key。在用户主目录下,看看有没有 .ssh 目录,
如果有,再看看这个目录下有没有 id_rsa和 id_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步
如果没有则创建 SSH Key:

$ ssh-keygen -t rsa -C “[email protected]

第二步:
在用户主目录里找到 .ssh 目录,里面有 id_rsa 和 id_rsa.pub 两个文件,这两个就是
SSH Key 的秘钥对, id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以放心地告诉任何人。

第三步:
登陆 GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意 Title,在 Key 文本框里粘贴 id_rsa.pub 文件的内容:

最后:“有了远程仓库,妈妈再也不用担心我的硬盘了。”——Git 点读机

6、操作远程仓库

在连接玩仓库之后我们需要对仓库进行操作

// 克隆仓库:
$ git clone git@github.com:michaelliao/gitskills.gi
	当团队协作知道仓库地址就可以随意克隆仓库了

// 把本地仓库分支内容推送到仓库中
$ git push -u origin master(master是分支名称)
	 -u 参数:Git 不但会把本地的 master 分支内容推送的远程新的 master 分支,
	 还会把本地的 master 分支和远程的 master 分支关联起来,
	 在以后的推送或者拉取时就可以简化命令

// 把最新的提交从远程仓库抓下来
$ git pull 

7、创建标签

Git 的标签虽然是版本库的快照,但其实它就是指向某个 commit 的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
在 Git 中打标签非常简单,首先,切换到需要打标签的分支上:

// 创建一个标签
$ git tag <tagname>

// 对指定的commit打标签
$ git tag <tagname> 6224937(提交id)

// 创建带有说明的标签
// 用 -a 指定标签名, -m 指定说明文字:
$ git tag -a <tagname> -m "version 0.1 released" 362816

// 删除标签
$ git tag -d <tagname>

// 查看所有标签
$ git tag

// 查看标签对应的提交信息
$ git show <tagname>

如果有什么补充的,欢迎在评论区留言!

你可能感兴趣的:(git,github,gitee)