Git是一个版本控制器,是目前来说使用范围最广,受众面积最大,最好用的版本控制器。
使用场景:回退版本、协同开发
然后我在最后发现了一个码云官方整理好的git大全,各种git命令都有
https://gitee.com/all-about-git
1 安装
1.1 window
官网下载就完事
https://git-scm.com/downloads
2 配置
一般在新的系统上,我们都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。
Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。
生成的三个命令行窗口:
- Git Bash:Linux命令行风格(推荐)
- Git CMD:Windows命令行风格
- Git GUI:图形化界面(不推荐)
2.1 Linux命令行
还得先熟悉一下Linux的命令行啊
- cd: 改变目录
- cd .. 回到上一个目录
- pwd 显示当前目录
- ls 列出当前目录中的所有文件
- touch 新建一个文件
- rm 删除一个文件
- mkdir 新建一个文件夹
- rm-r 删除一个文件夹
- mv 移动文件 mv 文件名 目标文件夹名
- reset 重新初始化终端/清屏
- clear 清屏
- history 查看命令历史
- help 帮助
- exit 退出
注释
2.2 用户信息(必须配置)
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
如果用了 —global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 —global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
2.3 查看配置信息
要检查已有的配置信息,可以使用命令:
git config --list
2.4 配置文件
—system 系统级 Git\etc\gitconfig
—global 用户级 C:\Users\用户名.gitconfig
可以直接编辑3 原理
3.1 工作区域
Git本地有三个工作区域:工作目录、暂存区、资源库,在加上一个远程的git仓库就可以分为四个工作区域
3.2 工作流程
在工作目录中添加、修改文件;
- 将需要进行版本管理的文件放入暂存区域;
- 将暂存区的文件提交到git仓库。
因此git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)
4 Git项目搭建
4.1 创建本地仓库
在工作目录中初始化新仓库
创建全新的的仓库,在需要Git管理的项目的根目录执行
git init
可以看到仅多了一个.git目录,关于版本的所有信息都在这里面
4.2 从现有仓库克隆
克隆远程目录,将远程服务器的仓库镜像到本地
git clone [url]
5 文件操作
5.1 文件状态
- Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库中,不参与版本控制。
- 通过 git add 将状态变为 Staged
- Unmodify:文件已经入库,未修改。
- 若文件被修改,状态变为 Modified
- 若使用 git rm 移出版本库,则状态变为 Untracked
- Modified:文件已经修改,但并没有进行其他操作。
- 通过 git add 将状态变为 Staged
- 通过 git checkout 从库中取出文件,覆盖当前修改,返回到Unmodify状态
Staged:暂存状态
以斜杠 / 开头表示目录;
- 以星号 * 通配多个字符;
- 以问号 ? 通配单个字符
- 以方括号 [] 包含单个字符的匹配列表;
- 以叹号 ! 表示不忽略(跟踪)匹配到的文件或目录;
示例:
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
6 分支
常用指令
#列出所有本地分支
git branch
#列出所有远程分支
git branch -r
#新建一个分支,但依然停留在当前分支
git branch [branch name]
#新建一个分支,并切换到该分支
git checkout -b [branch]
#合并指定分支到当前分支
git merge [branch]
#删除分支
git branch -d [branch name]
#删除远程分支
git push origin --delete [branch name]
git branch -dr [branch name]
7 将本地仓库连接到远程仓库
7.1 注册码云
7.2 设置SSH公钥
在Git Bash中输入
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
连敲三个回车
然后在C:/Users/自己的用户名/.ssh
这个文件夹中将id_ed25519.pub文件中的内容复制即可。
在码云的设置页面点击ssh公钥
在这个位置加入ssh公钥
然后在cmd中输入
ssh -T git@gitee.com
8 新建远程仓库
8.1 合作开发
![)3IWMZ3Q65QY1(X7OCLL41.png
直接添加仓库成员即可
8.2 将本地项目添加到远程仓库
创建一个仓库
然后在需要添加的项目中
git init
然后在
git remote add [给远程仓库起个名] [仓库的SSH链接]
git pull [给远程仓库起的名] [分支]
//一定要先拉取,不然可能报错
git add .
git commit -m "注释内容"
git commit [文件夹] -m "注释内容"
git push [给远程仓库起的名] [分支]