Git(工具)
引言:(多人协作,版本控制工具)
-
在单人开发过程中,需要进行版本管理,以利于开发进度的控制。
-
在多人开发过程中,不仅需要版本管理,还需要进行多人协同控制。
使用方法
1.下载Git https://git-scm.com/downloads
2.安装,除了安装位置外,其他一直下一步即可
3.安装后,打开cmd ,自报家门
输入以下代码设置用户名和邮箱记录:以后用以记录那次是谁提交的(第一次安装设置这一步)
git config --global user.name "Your Name" #用户名
git config --global user.email "aaa@qq.com" #邮箱
》git config -l
输入git config -l 查看信息说明安装成功
也可以收入git version 查看当前版本
4.仓库
对应的就是一个目录,这个目录中的所有文件被git管理起来。
以后会将一个项目的根目录,作为仓库。
仓库中的每个文件的改动 都由git跟踪。
*如何新建仓库?
选择项目根目录地址栏输入CMD,并执行git init这个命令就会在文件目录中生成一个git 文件夹*
5.架构(了解架构才知道以后建库是干嘛的啊)
分为版本库,缓存区,分支
* 版本库:工作区【执行Git init的目录就是工作区】中有一个隐藏目录 .git
,这个目录不属于工作区,而是git的 版本库
,是git管理的所有内容 【所有的文件都会首先在工作区新建,然后存入到仓库(版本库)才会进行版本控制】
* 暂存区:版本库中包含一个临时区域,保存下一步要提交的文件。
【在Git目录中,工作区的文件进入仓库时要先进入暂存区】
* 分支:版本库中包含若干分支,提交的文件存储在分支中【就是记录文件的多个版本,分支就是这些版本的最终记录】
6.(本地)仓库的一些操作{这一步本地仓库的操作是为了远程仓库做准备,有了本地仓库才能和远程仓库交互}
》执行git status 可以查看工作区文件的状态(下载TortoiseGit-2.8.0.0-64bit,标记插件后,文件夹没有被记录就是出现问号之类的)
》执行 git add . 将工作区中的文件全部存入暂存区(第一次安装最好重启电脑在执行add,这时文件会变为加号说明进入缓存状态)
》执行 git commit -m “写提交的描述信息随便写" 作用是将暂存区的文件存入分支,形成一个版本(也是生成快照的意思)
》使用 git log查看快照
7.远程仓库的使用(十分重要)
1.》先去码云官网注册一个账号(用于上传自己的项目)
可以先建一个远程仓库
2.》按照“6步骤”的方法建一个本地仓库-文件夹打对号才行(库与库的交互)
git init
git add .
git commit -m “本地库的名字”
3.》这时本地的.git文件夹里已经生成了本地仓库。4.》下面就是通过命令把本地关联远程仓库
》拷贝步骤一中建立的裸库的地址(origin是别名)
》使用git remote add origin https://gitee.com/wjlmayun/qfhf-2002.git(码云库地址)
也可以用git remote -v 查看远程库地址
5.》 推送文件到远程仓库(如果上传不成功可以通过git status看看是不是nothing to commit)
git push origin master(将本地master分支上传到远程master分支)
上传后会有弹窗让输入码云的账号密码
6》从远程仓库下载到本地仓库(老用户)
多人协同开发时,写好代码的[git push] 上传到远程仓库;需要代码的 [git pull]拉取代码即可
git pull 标识名 master
6》远程仓库的克隆(新用户是克隆)
git clone 远程地址
将远程仓库复制到本地,并自动形成一个本地仓库
7.5》如何让某一台电脑可以不要每次都要输入密码-==通过设置SSH key
直接cmd(不是在git文件下)执行: ssh-****** -t rsa -C “aaa@qq.com” 然后一直回车即可 -C后"'可以随意写一个,作为key的title而 已,无关紧要"
最后:在 C:\Users\主机名.ssh 目录下生产秘钥文件,
公钥复制下来放到码云的ssh公钥里就可以实现本台电脑下次访问不用再输入密码
id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以放心地告诉任何人。
登录GitHub,在账户设置中,选择 “SSH Keys” ,在Title中随便填写一个,在Key中填写 id_rsa.pub 文件中的
所有内容即可。
命令 | 描述 |
---|---|
git remote add 标识名(master) 远程地址 | 本地关联远程仓库 |
git push 标识名 master | 将本地仓库内容上传到远程仓库 |
git pull 标识名 master | 从远程仓库下载内容到本地仓库 |
git clone 远程地址 | 将远程仓库复制到本地,并自动形成一个本地仓库 |
分支:
出现冲突要手动修改、、、、