博客地址:https://ask.hellobi.com/blog/zhiji 欢迎大家来交流学习。
工作中一定会用到版本控制系统,常见的有SVN、Git,今天我们主要谈一下Git的使用。
1.Git简介
- Git是目前世界上最先进的分布式版本控制系统
- git的使用,主要包括:
- 本地仓库的命令
- 远程仓库的命令
- 项目需求、页面、模型类的设计,及页面的使用
2.安装
sudo apt-get install git
安装完毕以后,可以运行如下命令
git
3.远程仓库
- Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站。
1.创建github账号
- 本地Git仓库和GitHub仓库之间的传输是通过SSH加密的
- step1:创建项目的SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
- 查看你生成的公钥
cat ~/.ssh/id_rsa.pub
- 创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
- step2:* 登录github注册或登录账号,打开“settings”的“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key
2.创建远程库
- 登陆GitHub
- 在右上角找到“new repository”按钮,创建一个新的仓库
3.从远程库克隆
- 将github上的项目,克隆到本地一份
git clone git@github.com:账号名/项目名.git
4.与远程库交互
- 从远程库获取到本地
git pull
- 将本地提交远程库
git push origin master
注意:每次提交前,需要先获取,解决冲突后再次提交
4.本地仓库
1.创建本地仓库
- 创建空目录
mkdir test7
cd test7
pwd #pwd命令用于显示当前目录。
- 在目录下创建本地仓库
git init
- 创建成功后
这个目录默认是隐藏的,用ls -ah命令就可以看见
- 版本库就是一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”
2.工作区与暂存区
- 使用IDE打开目录,创建项目,将文件添加到暂存区
git add 文件1 文件2 ...
git add 目录
- 使用暂时区的内容恢复工作区的内容
git checkout -- 文件名
- 查看暂存区的状态
git status
- 列出本地分支和远程分支
git branch -a
- 切换到新的分支
git checkout 分支名
3.暂存区与仓库区
- 将暂存区的记录添加到仓库区
git commit -m '本次提交的说明信息'
- 查看仓库区的历史
当前版本的历史版本:git log
简版显示:git log --pretty=oneline
历史命令:git reflog
在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是
HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
对比工作区和仓库区中某版本某文件的不同
git diff HEAD -- 文件名
- 回退历史版本到暂存区
# 撤销add
git reset
git reset HEAD^或版本号
# 回退到上个提交历史
git reset --soft + 提交的id
- 把分支推送到远程,建立与本地的连接
# 假设分支名为features_dev
git push origin features_dev:features_dev
git branch --set-upstream-to=origin/features_dev features_dev
- 把自己的分支推送到主分支
master
为主分支,features_dev
为自己的分支
git checkout master
git pull
git merge features_dev
git push
- 查看标签+打标签(主要为了日后回退代码某个版本使用)
# 查看标签
git tag
# 打标签
git tag v1.0.1
# 推送cangku
git push origin --tags
4.删除文件
- 依次执行如下命令
rm 文件名
git rm 文件名
git commit -m '说明信息'
仅看这些命令对于一个新接触git的人来说肯定是有难度的,所以这个过程一定要自己建立一个本地仓库,一步一步操作,这样才是学习git
的正确姿势。