前言

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

本文主要介绍Git的一些基本操作。

Git的下载

  • Windows:Git下载

  • Mac:在苹果商店安装xcode


Gitee 新建远程仓库


设置用户名与邮箱

windows用户git bash运行

mac直接开启命令行运行

设置全局:

1
2
3
// 参考你自己的地址
git config --global user.name "moxie"
git config --global user.email "2287930290@qq.com"

新建本地项目与仓库

自行创建一个文件夹,里面放一点代码,命令行cd 进去后,初始化本地仓库。

如:windows 切换盘符,使用命令 D: ,然后在cd xxx/learn。

1
git init

添加add

告诉Git,你要添加的文件。

1
2
3
4
// 单个文件
git add index.html
// 全部添加
git add -A

提交commit

提交到本地仓库

1
git commit -m "初次提交" 

秘钥的生成

1
ssh-keygen -t rsa
  • 全部按回车,注意生成好的路径。

  • windows用户:根据路径C:\Users\用户名\.ssh找到秘钥,苹果电脑:open ~/.ssh

  • 找到本地的 id_rsa.pub后,复制到 github -> 用户头像/settings/ssh and gpg keys

  • Gitee也在设置Shh添加公钥即可。


添加远程仓库地址

注意用ssh的则就是职业密钥,如果为HTTPS则不需要密钥,但是每次都要输入账号和密码。

1
2
3
4
// 提交分支
git branch -M main

git remote add origin git@gitee.com:moxiedws/learn.git

推送push

推送到远程仓库

1
git push -u origin main

刷新 Gitee,看看代码是否上去了


第二次提交代码

修改下本地的代码,然后重新推送到 Github 上去

1
2
3
4
5
git add -A 

git commit -m "修改了,第二次提交"

git push

pull拉取代码

这时候,在 Github上直接修改代码,模拟第二个用户提交了新的内容。

你本地的代码,会比 Github 上的旧一些,你需要把 Github上最新代码下载下来

1
git pull

检查本地代码是否更新了


代码克隆clone

将本地的项目直接删掉(或者你找一个新的目录开始操作,不能和刚才的项目放在一起,不然clone项目文件夹会重名的),现在模拟第二个用户操作,先克隆。

1
git clone git@gitee.com:moxiedws/learn.git

Git排除文件

在根目录中.gitignore文件

1
2
// 排除一些文件
.idea

上传到Gitee则会没有这些排除的文件

Git分支

创建分支进行版本的控制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 新建分支并转移到此位置
git checkout -b NewBranch

// 查看所有分支
git branch

// 切换分支切换到master
git checkout master

// 删除本地分支NewBranch
git branch -D NewBranch

// 上传分支(注意需要在分支目录中进行)
git add -A (或文件名)
git commit -m "new branch"
git push origin NewBrLanch

合并分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 回到主分支 master
git checkout master

// 将主分支数据拉到本地
git pull
// 强行合并 (可能会出错,master很有可能也更新)
git merge NewBranch

// 假设说上面的和合并出现问题,那就手动合并
vim Readme // 手动合并标识文件
git add -A
git push origin master // 合并之后就可以提交到master了

// 查看从什么地方出现的分支
git log -graph

使用Sourcetree软件

Sourcetree地址

Sourcetree添加密钥:工具选项里面添加密钥,选择Openssh

博主建议:首次使用命令行连接远程仓库进行推送,之后使用软件可以看到每次修改的具体文件,并且只会提交这些修改的文件,方面查看与维护。

另外关于软件的教程:可参考网上的教程文档。