Git基础知识推荐
Git - 快速, 可扩展, 分布式版本控制系统
Git 是一个免费的开源分布式版本控制系统,旨在以快速和高效的方式处理从小型到超大型项目的所有内容。
Git 易于学习,空间占用小,性能快如闪电。它超越了像 Subversion、CVS、Perforce 和 ClearCase 这样的配置管理工具,具有廉价的本地分支、方便的 staging 区域和多个工作流等特性。 官方详细介绍 (opens new window) | 官方文档 (opens new window) | 下载 (opens new window)
注意
Git 默认文件名不区分大小写,如果修改了文件名不会显示有改变。
执行 git config core.ignorecase false
命令配置以后文件名才会区分大小写。虽然可以识别大小写文件名了,但是如果你之前已经 push 到远程了,这样远程的文件名还是不会改变,有可能就是本地和远程两个文件名不同,一个是大写的一个是小写的。为了完全避免这个问题,推荐使用命令 git mv 去重命名,不要直接去重命名文件名。如果远程跟本地不一样,只能先删除远程的,在推送本地的到远程。(目前没有找到其他好方法,可能还有更好的方法。)
# 安装 git 客户端
下载地址 (opens new window),安装比较简单这里不做介绍。git 代码仓库 (opens new window)可以查看源码。
windows
安装好后,右键可以看到如图所示的两个图标,我经常使用Git Bash Here来操作各种命令,类似于 linux 的终端。后续 git 相关的命令,都可以在Git Bash Here终端来进行操作。mac/linux
可以直接用终端进行操作。
Git GUI Here是一个图形操作界面,我没有使用过,需要了解的可以查看官网。各种客户端 GUI (opens new window)
# git 服务平台选择
GitHub (opens new window),
GitHub
是一个在线软件源代码托管服务平台,使用 Git 作为版本控制软件,由开发者 Chris Wanstrath、P. J. Hyett 和汤姆·普雷斯顿·沃纳使用 Ruby on Rails 编写而成。在 2018 年,GitHub 被微软公司收购。 GitHub 同时提供付费账户和免费账户。Gitee (opens new window),
Gitee
是开源中国于 2013 年推出的基于 Git 的代码托管和协作开发平台,提供中华人民共和国本土化的代码托管服务。 截止 2020 年 5 月,Gitee 已经有 500 万名注册用户和 1000 万个代码仓库,是中国大陆规模最大的代码托管平台。 2022 年 5 月 18 日晚,Gitee 宣布所有开源库将先审再上线。GitLab 代码仓库 (opens new window),
GitLab
很多公司内部的 git 服务是基于 GitLab 开源搭建的。
# 快速入门
# git 全局设置
#修改用户名和邮件
git config --global user.name "eastonyangxu"
git config --global user.email "easton_00@163.com"
#windows支持长路径,要不然代码路径太长会报错
git config --global core.longpaths true
#windows默认下载git代码,没有显示链接link属性问题
git config --global core.symlinks true
#windows下载代码编码格式,不会进行转换,提交不转换(默认安装会转换成windows)
git config --global core.autocrlf false
2
3
4
5
6
7
8
9
# 配置 git ssh key
ssh key 有什么用:每台电脑(终端)的公钥,用来和 git 平台校验,这样每次提交的时候无需输入用户名和密码
#生成ssh key
ssh-keygen -t rsa -C "easton_00@163.com" -b 123456
#然后一直回车
cat ~/.ssh/id_rsa.pub
#把打印的公钥字符串复制,配置到git平台(Gitee/GitHub/其他平台)上面
2
3
4
5
# 最简单的开发过程(步骤)
# 1.下载代码(以 git_demo 命名仓库为例)
git clone https://gitee.com/easton-yang/git_demo.git
cd git_demo
# 2.查看所有分支
git branch -av
# 3.从 master 新建分支 branch_demo,并且切换到新分支(加上 -b 选项)
git checkout -b branch_demo master
git branch #再次查看分支
# 4.在个人分支增删改代码,按照平常编写代码
# 撸代码啦。。。。
# 提交代码往下看
# 5.提交代码分4 步
# 5.1 查看有哪些文件是被你修改,以防修改不必要文件(有改动文件,显示红色)
git status
# 5.2添加准备要提交的代码到暂存区(暂存区概念学习 git 时候查一下。有改动文件,这时候显示绿色)
git add xxx.py #再次查看添加了什么,确保正确
git status
# 5.3 提交代码到本地仓库(注意这个时候还未上传代码到 git 服务器)
git commit -m "[ADD]:提交新代码 xxx.py"
# 5.4 真正提交代码到远程仓库,这里提交到个人分支
git push origin branch_demo
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# git 本地创建项目并同步到 Gitee/GitHub
# 第一步 Gitee 上创建仓库
1.找到新建仓库按钮
2.创建一个仓库 git_demo ,名字可以不取相同的推荐使用相同的名字
3.创建完成后的页面
# 第二步 创建本地仓库并同步
直接按着 Gitee 的提示操作,copy 命令就可以。
mkdir git_demo
cd git_demo
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/easton-yang/git_demo.git
git push -u origin "master"
2
3
4
5
6
7
8
远程仓库
,执行完以上命令后,刷新仓库页面,本地的文件已经跟 Gitee 保持一致了。
本地仓库
,.git 是执行 git init
后生成的文件,里面保存的是版本控制的各种信息。