git 使用基础教程


介绍: git 是一种开源的分布也是版本控制器,用于管理和处理大小项目,
也可以用来做多用户的协同工作

git下载安装

windwos

windows 可直接在官网下载git

Linux

Debian && Ubuntuy
sudo apt-get install git

Centos && RedHat
sudo yum -y install git-core

Fedora
sudo yum install git # Fedora 21 之前
sudo dnf install git # Fedora 22 之后以及更高版本

Arch
sudo pacman -S git
Arch linux 会遇到 ==配置文件无法查看的问题== 安装 使用 pacman 安装 less 即可解决

Mac

使用 Homebrew 安装
brew install git
如果你想使用 gui界面
还可以安装 git-gui

其他

也可以使用git 源码去构建
git

git配置

git 提供了用户配置的命令,他方便我们使用信息去连接远程仓库
在linux在会把配置信息存放在

/etc/gitconfig
~/.gitconfig
windows 一般存放在
C:\Documents and Settings$USER
我们使用下面的命令配置git用户信息

1
2
git config --global user.name "用户名"
git config --global user.email "邮箱地址"

使用了这个命令,你所用的项目都默认是这个提交者的信息
使用命令

1
git config --list

查看当前的配置信息

1
2
3
gouxin@myarch ~/D/g/ContartSL_blog> git config --list
user.name=ContartSL
user.email=226798696@qq.com

为了方便提交远程仓库代码
我们可以配置 ssh

1
ssh-keygen -t rsa -b 4096 -C "your.email@example.com"

uj它会生成对应的配置文件默认存放在路径 ~/.ssh下
img
使用命令获取公钥信息

1
cat ~/.ssh/id_rsa.pub

然后打开github 或者gitee(我们这里使用github举例子)
打开个人信息

github_ssh

新建ssh密钥
github_ssh_use

然后在key里面输入公钥信息,随意编写一个标题即可

配置成功后使用 终端

1
ssh -T git@github.com

如果出现
Hi username! You’ve successfully authenticated, but GitHub does not provide shell access
信息则配置成功

git基础使用

拉取仓库

我们使用下面的命令,在github上拉取仓库代码

1
git clone https://github.com/username/repo.git

例如,我们想把Linux的源码拉取下来
Linux
在 左上角有一个绿色的 Code 字样
点击之后 我们能发现三个选项
HTTPS, SSH, GitHub CLI
linux_code

这是三个去获得代码的方式,我们使用这个HTTPS拉取代码

1
git clone https://github.com/torvalds/linux.git

这样我们就将代码拷贝到本地了

基本工作流程

git流程

我们首先介绍一下这个git的基本说明

  • workspace: 工作区
  • staging area: 暂存区/缓存区
  • local repository: 版本库或本地仓库
  • remote repository: 远程仓库

工作区是你能看到的目录。

暂存区是一个临时的存储区域,他包含即将被提交到版本库中的文件快照,是提交代码前的最后一步

版本库 包含所有项目的历史记录
里面保存着项目的完整历史记录

我们常用下面几个命令

1
2
3
4
5
6
git clone
git push
git add
git commit
git checkout
git pull

一个完整的代码提交过程如下

1
2
3
4
5
6
7
git clone  #拷贝代码
git push origin main #从主分支上下载代码到本地
git add . #将所有更改过的文件添加到缓存区
git commit -m "更改说明" #将暂存区内容添加到本地仓库中并且添加更改说明
git push origin main #将文件提交到远程仓库的主线上
git checkout #切换分支
git status #查看状态

Git分支管理

git分支操作是非常强大的功能,是方便团队协作的大招
分支可以方便多个人员并行开发,测试,并且不会影响到主线代码

创建分支

我们使用下面的命令, 创建新的分支

1
git checkout -b <branchname>

例如:

1
2
git checkout -b develop #创建新分支
git checkout develop #切换分支

当我们切换到新分支之后,代码会替换为该分支的最后一次提交的工作目录的内容

查看分支

查看所有分支:

1
git branch  

查看远程分支:

1
git branch -r

查看本地和远程分支:

1
git branch -a

合并分支

将其他分支的内容合并到到当前分支:

1
git merge <branchname>

例如:

1
2
git checkout main #切换到主分支
git merge develop #将开发分支的内容合并到主分支

总结举例

首先如果我们工作时候首先将代码拷贝下来

1
git clone 代码地址

然后我们进入项目目录
找到自己的分支

1
2
git branch #列出分支  如果没有则新建分支
git branch gouxin #进入自己的分支

然后我们每天的工作流程是查看有没有信息,然后将新的代码合并到自己的开发分支

1
2
3
4
5
6
git stash #暂存未提交的改动

git fetch --all #获取远程所有分支的信息

git checkout main #切换到主分支
git pull origin main #拉取并且合并远程主分支

然后跟新分支内容

1
2
3
git checkout gouxin #切换为自己的分支

git merge main 合并主分支的内容到自己的分支

最后在把没有提交的代码提交上去

1
git push origin feature