哈工大软件构造 Git使用

一、什么是Git

        Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。与常用的版本控制工具 CVS, Subversion 等不同,Git采用了分布式版本库的方式,不必服务器端软件支持。

二、Git的发展历史

        Git起源于Linux社区。Linux最初是由BitMover公司开发的商业收费的BitKeeper分布式版本控制系统所管理源代码。BitMover公司免费授权Linux社区使用BitKeeper,从2002年起,Linux开始使用BitKeeper分布式版本控制系统管理源代码,但有一天Linux社区成员Andrew试图破解BitKeeper共享给所有人使用,于是BitMover公司收回了Bitkeeper的版权。于是Linus就根据使用Bitkeeper的经验用两周的时间写出了Git,也就是目前为止最好用的分布式版本控制系统。Github就只使用Git系统来管理网站。

三、分布式和集中式

        GIt是分布式版本管理系统,与之对应的是集中式管理系统,典型的比如svn、cvs等。它们的区别在于集中式系统在写代码时需要从服务器中拉取,这样做的劣势是当服务器丢失或损坏,项目也随之丢失。并且你的所有对项目的操作都需要连接服务器。


        分布式与之相比的最大优势就在于,当你从主仓库拉取一份代码下来后,会在你的电脑里创建一个本地仓库,你可以自由在本地回滚,提交,当你想把自己的代码提交到主仓库时,只需要将本地仓库合并推送到主仓库即可。

        集中式存在一个主版本号,所有的版本迭代都以这个版本号为主,而分布式因为每个客户端都是服务器,没有固定的版本号,但是有一个由哈希算法算出的id,同时也有一个master仓库,这个仓库是一切分支仓库的主仓库,我们可以推送提交到master并合并到主仓库上,主仓库的版本号会迭代一次,我们客户端上的git版本号无论迭代多少次,都跟master无关,只有合并时,master才会迭代一次。


四、配置Git

Linux安装Git

        Linux下直接在终端输入一下命令即可安装Git

sudo apt install git

windows安装Git

        在 Windows 上安装 Git可以直接使用安装程序。最新的官方的build版本可在 Git 网站上下载。只需转到Git - Downloading Package,下载将自动开始。

配置git环境:git config --global
 

config:参数是用来配置git环境的

--global:长命令表示配置整个git环境

        初次使用git需要设置你的用户名以及邮箱,这将作为当前机器git的标识,如果你用它来下载远程仓库一些需要登录权限的仓库会要求登录,git默认使用配置邮箱以及用户名登入,但会要求你手动输入密码

用户名配置

user代表用户,.name代表配置用户的名称

git config --global user.name "你的用户名"


邮箱配置

user代表用户,.email代表配置用户的邮箱

git config --global user.email "你的邮箱"
不配置也行,当遇到要求登录权限的远程仓库会让你在手动输入用户名、邮箱、以及密码

五、Git相关操作

创建本地空仓库:git init


init:初始化当前目录为仓库,初始化后会自动将当前仓库设置为master

        创建本地仓库的条件是需要一个空目录,然后在空目录中初始化你的项目。初始化后会生成git的配置文件目录,普通的"ls"命令是看不到的,我们需要使用ls -ah查看隐藏目录进入目录后可以看到它的相关配置文件。

git init

克隆现有存储库:git clone

        如果你想获取现有 Git 存储库的副本——例如,你想贡献的项目——你需要的命令是git clone使用clone克隆存储库git clone <url>可以直接在本地创建相同的仓库

git clone <url>

新建文件添加到本地仓库:git add、git commit -m

add:将文件添加到缓存区

commit:提交到本地仓库

        使用git add命令可以将文件添加到本地仓库的提交缓存,但这个时候还不算添加到了本地仓库,我们还需要使用git commit命令为其添加修改的描述信息。注意在使用git commit时我们只需要简单描述一下我们做了什么,不要像写注释那样写一大堆。我们需要使用-m命令来简写描述我们的信息。

git commit -m "first commit"

同步到远程仓库:git push

使用git push命令可以将本地仓库提交到远程仓库。

git push

改写提交:git commit --amend

--amend:重写上一次的提交信息

 如果我们提交了仓库,却发现注释写错了,我们可以使用 --amend长命令选项来改写提交。

git commit --amend

查看历史提交日志:git log

log:查看日志

我们可以使用git log查看一下提交日志

git log

回滚代码仓库:git reset --hard
reset参数是重置命令

--hard是重置代码仓库版本

有三种模式

--soft 、--mixed以及--hard是三个恢复等级。

使用--soft就仅仅将头指针恢复,已经add的暂存区以及工作空间的所有东西都不变。
如果使用--mixed,就将头恢复掉,已经add的暂存区也会丢失掉,工作空间的代码什么的是不变的。
如果使用--hard,那么一切就全都恢复了,头变,aad的暂存区消失,代码什么的也恢复到以前状态。

git reset --hard

查看提交之后文件是否做了改动:git status

status:查看当前仓库状态

我们在提交完成之后,有时候可能自己不小心改动了某个文件,或者别人,我们可以使用git status查看文件是否被改动。

git status

删除文件:git rm

如果我们使用普通的命令,rm删除文件,git状态会提示你删除了文件,你只需要使用add重新提交一次就可以了。当然你也可以使用git rm删除文件,但是也需要使用git commit提交一次

git rm

git创建分支:git branch、git checkout


使用git checkout -b参数来创建一个分支,创建完成分支后会自动切换过去

git checkout -b dev


然后我们在使用branch来查看当前属于哪个分支,也就是查看HEAD的指向

git branch

git合并分支:git merge

当我们新建分支并做完工作之后,想要把分支提交至master,只需要切换到master仓库,并执行git merge 分支名就可以了

git merge

git查看分支:git branch -a

如果要查看当前所有分支可以使用:git branch -a


git删除本地分支:git branch -D
 

git branch -D 分支名

git删除远程分支:git push origin --delete


注意这里的远程分支名不需要加origin,输入分支名就可以了

git push origin --delete 远程分支名


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值