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 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 'git@github.com:.../learngit.git'(需要配置ssh公钥) 配置了ssh公钥后再进行连接时就不需要输入账号密码了
配置ssh密钥:
第一步:
创建 SSH Key。在用户主目录下,看看有没有 .ssh 目录,
如果有,再看看这个目录下有没有 id_rsa和 id_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步
如果没有则创建 SSH Key:
$ ssh-keygen -t rsa -C “youremail@example.com”
第二步:
在用户主目录里找到 .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>
如果有什么补充的,欢迎在评论区留言!