快速上手系列——Git基础和Github

Git是一款非常实用的版本控制工具,能够帮助我们有效进行版本控制和备份。此外,还有Github平台帮助我们进行远程版本控制和协作。

本文旨在帮助读者快速上手Git的入门级操作,免去繁琐的概念介绍,只求最快速的下载、安装和使用。

一、安装Git

Linux

Debian或Ubuntu可以采用apt-get安装:

sudo apt-get install git

如果是Debian或Ubuntu的旧系统:

sudo apt-get install git-core

其他版本可以采用源码安装:

# 先从官网下载源码并解压
./config
make
sudo make install
macOS

使用homebrew安装,如果没有brew则先安装Xcode Command Line Tools:

xcode-select  --install

安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

执行以下命令,Git将被安装在/usr/local/Cellar/git/2.21.0路径下:

brew install git
Windows

为了方便,可以直接下载打包好的msysgit:

https://gitforwindows.org

使用默认选择安装,在开始菜单找到Git --> Git Bash,打开即可。

二、配置Git账号

检查Git是否安装成功,如果输出了Git的版本号就表示安装成功:

git --version

配置用户名和邮箱:

git config --global user.name <用户名>
git config --global user.email <邮箱>

三、使用Git

初始化

首先cd到一个目标路径,该路径将被新建为一个Git仓库:

cd <目标路径>

初始化git,使得当前路径成为一个Git仓库:

git init

这样一来该路径下的所有文件都会接受Git仓库的管理,你也可以新建一些文件来接受管理。

添加和提交

使用add命令将文件添加到版本库的暂存区,暂存区里可以存放多个文件:

git add <文件路径>

然后将暂存区中的所有文件提交到版本库,可以通过-m参数传入附加消息:

git commit -m <消息字符串>

每次进行新建、修改、提交等各种操作之后,都可以用status命令查看当前仓库的状态:

git status

使用diff命令可以发现被修改文件和仓库文件的区别:

git diff <文件路径>
版本回退

提交多次之后,可以通过log命令查看提交记录,通过设置--pretty=oneline参数,可以精简打印的结果:

git log --pretty=oneline

如果想要回退到之前的版本,可以用reset命令,--hard参数会清除log中回退版本后的记录:

# 回退到上一个版本
git reset --hard HEAD^
# 回退到上上个版本
git reset --hard HEAD^^
# 回退到前十个版本
git reset --hard HEAD~10
# 通过版本号回退到指定版本
git reset --hard <log中显示的版本号,输入前几位即可>

如果找不到版本号,可以通过reflog来查看版本号和对应的历史命令:

git reflog

四、使用远程仓库

基础设置
  1. 进行加密传输设置,确保只有你能进行推送操作。首先创建SSH Key:

    ssh-keygen -t rsa -C <邮箱地址>
    
  2. 一路回车,根据默认值得到私钥和公钥文件:

    id_rsaid_rsa.pub

  3. 登陆Github,点击右上角头像,选择Settings,选择SSH and GPG keys,点击New SSH key

    随意输入一个Title,再把id_rsa.pub的文本内容粘贴到Key文本框里,最后点击Add SSH key即可。

创建远程仓库

点击右上角+号,选择New repository,填选仓库名和相关配置,点击Create repository进行创建。

连接远程仓库
  1. 拷贝SSH链接:

    如果是空项目,该链接会在Quick Setup中给出;也可以进入仓库,点击Code按钮,拷贝SSH链接得到。

  2. 在本地仓库下运行git remote add <远程仓库名> <SSH链接>来与远程仓库进行关联,如:

    git remote add origin git@github.com:xxx/xxx.git
    
推送

使用push命令进行推送,如:

git push -u origin master

由于采用了-u参数,在以后的推送中,就可以用git push来简化命令。

初次提交可能会得到SSH警告,因为需要验证指纹信息,通常来源可靠的话输入yes回车即可。

克隆

使用clone命令,如:

git clone git@github.com:xxx/xxx.git

五、其他操作

比较工作区和版本库里的文件:

git diff HEAD -- readme.txt

撤销工作区的修改,撤回到最近一次addcommit的状态:

git checkout -- readme.txt

撤销暂存区的修改,把修改回退到工作区:

git reset HEAD <文件路径>

删除文件:

rm <文件路径>
git rm <文件路径>
git commit -m <消息字符串>

误删文件,需要找回文件:

rm <文件路径>
git rm <文件路径>
# checkout命令实际上使用版本库里的文件替换工作区的文件,无论是修改还是删除操作,都可以一键撤回。
git checkout -- <文件路径>

删除本地仓库:

# 删除.git文件夹即可
rm .git

参考链接

[1] https://www.liaoxuefeng.com/wiki/896043488029600

[2] https://www.cnblogs.com/ycyzharry/p/10889420.html

[3] https://www.cnblogs.com/beeone/p/12254848.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值