GIT简介-本地仓库-远程仓库

作者: 鲁智深 分类: 服务器配置 发布时间: 2018-01-19 22:06

Git是目前世界上最先进的分布式版本控制系统

安装

1
sudo apt-get install git

安装成功后,运行如下命令

1
git

安装完成后,还需要最后一步设置,在命令行输入:

1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

远程仓库

Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。首先找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用GitHub网站

创建github账号

本地Git仓库和GitHub仓库之间的传输是通过SSH加密的

step1:创建项目的SSH Key

1
ssh-keygen -t rsa -C "youremail@example.com"

创建完成后,在用户主目录里找到.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

创建远程库

登陆GitHub

在右上角找到“new repository”按钮,创建一个新的仓库

从远程库克隆

将github上的项目,克隆到本地一份

1
git clone git@github.com:账号名/项目名.git

与远程库交互

从远程库获取到本地

1
git pull

将本地提交远程库

1
2
3
4
git add 文件名
git commit -m '本次提交的说明信息'
git push 项目名 master
git show 查看最近一次提交的记录(commit)

将项目提交到远程库

1
2
3
4
5
6
git init#初始化空的 Git 仓库
git add *
github 新键项目
git remote add 项目名 git@github.com:luzhisheng/bookstore.git #命令管理一组跟踪的存储库
git commit -m '1.0'
git push -u bookstore master

提示:每次提交前,需要先获取,解决冲突后再次提交

报错问题

agent refused operation

agent refused operation

1
2
eval "$(ssh-agent -s)"
ssh-add

本地仓库

创建本地仓库

创建空目录

1
2
mkdir test7
cd test7

目录结构图如下:

init0

init0


在目录下创建本地仓库

1
git init

创建成功后,目录结构如下图:

init1

init1

版本库就是一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”

文件管理

本地仓库分为三部分:工作区,暂存区,仓库区,其中暂存区、仓库区是版本库部分

1
2
3
4
5
git branch 有多少个分支
git log --graph 查看分支路线图
git checkout -b develop 创建并切换到develop分支
git checkout master 切换回master分支
git merge develop 将develop分支合并到master

三个部分的操作及命令如下图

流程

流程

Git简介

工作区与暂存区

使用IDE打开目录,创建项目,将文件添加到暂存区

1
2
git add 文件1 文件2 ...
git add 目录

使用暂时区的内容恢复工作区的内容

1
git checkout -- 文件名

查看暂存区的状态

1
git status

暂存区与仓库区

将暂存区的记录添加到仓库区

1
git commit -m '本次提交的说明信息'

查看仓库区的历史

1
2
3
4
当前版本的历史版本:git log
q 退出log
简版显示:git log --pretty=oneline
历史命令:git reflog

在Git中,用HEAD表示当前版本,也就是最新的提交3628164…882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

对比工作区和仓库区中某版本某文件的不同

1
git diff HEAD -- 文件名

回退历史版本到暂存区

1
git reset HEAD^或版本号

删除文件

依次执行如下命令

1
2
3
rm 文件名
git rm 文件名
git commit -m '说明信息'

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

3条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注