我正在参与「启航计划」
Git的概述
什么是Git
Git是一个开源的分布式版别操控系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助办理 Linux 内核开发而开发的一个开放源码的版别操控软件。 Git 与常用的版别操控东西 CVS, Subversion 等不同,它采用了分布式版别库的方法,不必服务器端软件支撑。
实际运用场景
- 备份
- 代码复原
- 协同开发
- 追溯问题代码的编写人和编写时刻
版别操控方法
-
会集式版别操控东西:版别库是会集放在中心服务器中,必须联网才干作业,个人修正后提交给中心版别库。比方:SVN和CVS
-
分布式版别操控东西:分布式版别操控系统没有“中心服务器”,每个人的电脑都是一个完整的版别库,不需要联网就能够作业,多人协作只需要各自的修正推送给对方,就能相互看到对方的修正了。比方:Git
优点
- 速度快
- 简单的规划
- 对非线性开发模式的强力支撑
- 能够高效的办理Linux内核一样的超大规模项目
作业流程
指令:
-
clone(克隆):从长途库房中克隆代码到本地库房。fetch(抓取):从长途库,抓取到本地库房,不进行任何兼并动作(一般少很少用)
-
checkout(检出):从本地库房中检出一个库房分支如何进行批改
-
add(增加):在提交前先将代码提交到暂存区
-
commit(提交):提交到本地库房。本地库房中保存修正的各个历史版别
-
pull(拉取):从长途库房拉到本地库,主动进行兼并(merge),然后放在作业区,相当于fetch+merge
-
push(推送):修正完成后,需要和团队成员共享代码时,将代码推送到长途库房
Git的装置和常用指令
装置
下载地址:Git – Downloads (git-scm.com)
装置成功后鼠标右击后呈现:
注:
- Git GUI:Git提供的图形界面东西
- Git Bash:Git提供的指令行东西
获取本地库房
打开Git Bash创立一个新的git库房:
mkdir git-test01
在目录中履行git init
就能够创立一个 Git 库房了,这时分能够在文件夹中能够看到.git文件,但是.git文件默认是躲藏的,需要将将window设置显现躲藏的项目,如图:
根底操作指令
-
git add
: 作业区(workspace) –> 暂存区(index) -
git add .
:把一切项目提交到暂存区 -
git branch
:检查分支 -
git commit
: 暂存区(index) –> 本地库房(repository) -
git commit -m “注释内容”
:提交暂存区到本地库房 -
git checkout
:切换分支 -
git status
:检查修正的状况 -
git log
:检查日志 -
git reset --hard commitID
:版别回退 -
git reflog
:这个指令能够检查已经删去的提交记录
git-log的装备:为了更好的检查日志,精简的方法看日志
在系统用户下创立一个.bashrc
文件
文件里边的内容:
//用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
//用于输出当前目录一切文件及基本信息
alias ll='ls -al'
然后打开git bush输入:source ~/.bashrc
装备成功后的效果图比照:git log 和 git-log
git的分支办理
几乎每一种版别操控系统都以某种形式支撑分支,一个分支代表一条独立的开发线。 运用分支意味着你能够从开发主线上别离开来,然后在不影响主线的一起继续作业。
检查分支:git branch
增加一个分支:git branch 分支名
分支直观的展现:git-log
切换分支:git checkout 分支名
,其中HEAD表示的就是在当前的分支
增加分支而且切换到该分支:git checkout -b 分支名
兼并分支
兼并分支一般都是把其他分支增加到master上,所以首先需要切换到master分支
输入:git merge 分支名
当想删去分支的时分能够用指令:git branch -d 分支名
Git长途库房
假如想经过 Git 共享你的代码或许与其他开发人员协作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。一般用GitHub或许gitee、gitlab
创立长途程库
以gitee为例,创立一个库房
装备SSH公钥
生成密钥
ssh-keygen -t rsa
然后不断回车,假如公钥已经存在会主动覆盖
获取密钥
cat ~/.ssh/id_rsa.pub
把生成的公钥粘贴到gitee
检查是否装备成功:ssh -T git@gitee.com
增加长途库房
装备gitee为例:
增加长途库房(origin后边跟上长途库房的地址):
git remote add origin https://gitee.com/gao-bintao/git_test.git
检查是否增加成功:
git remote
推送到长途库房
git push origin master
然后刷新gitee就能够看到上传的文件了
克隆(clone)
把长途的库房克隆到本地库房
git clone 项目的地址
抓取和拉取
抓取: git fetch [remote name] [branch name]
- 将库房里的更新都抓取到本地,不会进行兼并
- 假如不指定长途称号和分支名,则抓取一切分支
拉取:git pull [remote name] [branch name]
- 将长途库房的修正拉到本地并主动进行兼并,相当于fetch+merge
- 假如不指定长途称号和分支名,则抓取一切并更新当前分支
总结
对于git的学习有利于实战中团队协作的开发,一起拉取代码也变得更快。热爱编程的小伙伴也能够在gitee和GitHub上面找到优异的开源项目。