默认
first things first
- 默认已经创建好github账户
- 默认linux基础命令
- 默认vim基本操作
安装
首先需要安装git
以manjaro linux为例
sudo pacman -S git
配置
全局配置
配置user和email来说明等会是谁在commit
-
配置关联用户名
git config --global user.name "[name]" -
配置关联邮箱
git config --global user.email "[email address]"
生成ssh-key并添加到github
没有ssh key或者token是不能push到远程的,这里只说ssh key
大致流程是在本地生成ssh key,再复制到github,可以参考官网的文档
生成sshkey:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
复制生成的key如何粘贴到github:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account
ssh的配置:
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/githubs-ssh-key-fingerprints
来手动操作
在home目录下
# emali例如 1111111@qq.com
ssh-keygen -t ed25519 -C "email"
这里会显示生成的key,但是不能直接复制格式会乱,用cat再去复制粘贴
cat ~/.ssh/id_ed25519.pub
粘贴到github account

完成
github创建远程仓库
创建一个名为git-demo的仓库

前期准备至此完成
初始化本地仓库
首先,在/home下创建个git-space目录
mkdir git-space
再在git-space下创建git-demo目录,此目录作为本地仓库存放的目录
cd git-space/
mkdir git-demo
cd git-demo/完成
初始化本地仓
git init
创建helloworld.txt,里面写上Hello World
#里面写上Hello World
vim hello.txt
提交到本地仓库
查看本地仓状态
git status
会看到有个未追踪文件为红色,表明要把helloworld.txt添加到暂存区
git add helloworld.txt
查看状态
git status
文件名变为绿色,表明添加暂存成功,可继续写东西再添加暂存或提交本地仓
如有需要,从暂存区删除helloworld.txt文件
git rm --cached helloworld.txt
提交到本地仓
# -m 后为注释
git commit helloworld.txt -m 'first commit'
git status查看,显示干净的工作区,本次提交成功
日志
查看引用日志信息
git reflog

查看详细日志
git log

其中,commit后面版本号,括号里表示当前HEAD指针指向master分支
版本回退
在版本回退之前,至少得要两个版本以上吧,
所以在helloworld.txt里,以文本" v*.0 "分两次写入表明版本,分别依次add,commit
v1.0
在helloworld.txt里加上v1.0

然后
git add helloworld.txt
git commit helloworld.txt -m "patch v1.0"
v2.0
方法同上

再依次
git add helloworld.txt
git commit helloworld.txt -m "patch v1.0"
查看日志
git reflog

这里就能看到三个版本了,这是按commit时间降序的。
head指向的就是最新的一次提交的版本
回退
假如此时要回退到最初版本
先看一下最新的版本里helloworld.txt的内容
cat helloworld.txt

再查看下版本号
git reflog

用reset回退,版本号为箭头所指向
git reset --hard 2d19e6e
版本就回退到最初版本了,查看一下文本

没问题
推送到远程仓库
创建远程仓库别名
# 这里origin为远程仓别名,name为用户名,记得去掉中括号
git remote add origin git@github.com:[name]/git-demo.git
查看远程仓别名
git remote -v
这里就能看到两个别名,一个用于拉取,一个用于推送

推送至远程库
# 将当前master分支推送至origin远程仓
git push origin master
push完成

去github里git-demo仓库就能看到刚刚push的helloworld.txt了

拉取远程仓库至本地
先在github上把helloworld.txt改动一下,新增一句话

拉取
git pull origin master
拉取成功

查看一下helloworld.txt

没问题
克隆远程仓
先找一个空文件夹,不用init
git clone git@github.com:[username]/git-demo.git
克隆就成功了
这里的clone做了三件事
- 拉取代码
- 初始化本地仓库
- 创建别名
也就是说clone就不用再去init、pull、remote add
到这里,就完成了把一个 helloworld.txt 文件 git 到 guthub的git-demo
再把git-demo克隆到一个空文件夹里的过程
最后,由于是单人仓库初次学习使用,所以不涉及branch分支的 创建、合并、改正代码合并冲突,可以参考其他作者文章。

本文详细介绍了如何在Linux下安装Git,配置用户信息,生成SSH密钥并添加到GitHub,创建本地仓库,初始化及提交操作,查看和回退版本,以及推送代码到远程仓库的过程。涵盖了从零开始到协作的基本步骤。

被折叠的 条评论
为什么被折叠?



