关于git的学习
本地
学git的四种工作区域
工作区 :就是你平时存放代码的地方(就是个目录)
暂存区:用于临时存放你的改动的地方(是个虚拟的地方)
本地仓库:就是安全存放数据的仓库(.git目录)
远程仓库:托管代码的服务器 (GitHub、gitlab、gitee)
初始化git
1.首先要安装git (官网下载https://git-scm.com/)
2.然后在本地新建目录,注意目录名 (工作区)
3.在目录下右键 git Bash here
打开git终端命令行
4.第一次使用git必须设置签名(用户名和邮箱),代表你是谁,提交代码别人可以看到是谁提交的代码
git config --global user.email "填你的邮箱地址"
git config --global user.name "你的名字"
说明:--global代表全局,可以使用git config --list
查看配置好的内容
5.接着我们开始初始化本地仓库,使用命令 git init
在我们的目录下会创建一个.git目录(默认情况下这个目录会被windows隐藏)
6.git add .
执行这个命令,告诉Git,把项目下的文件添加到暂存区
说明:. 表示所有文件,如果是某个文件换为文件名
7.接着执行git commit -m "***"
将文件由暂存区提交到本地仓库
说明: -m 代表 message , *** 要填你提交代码的描述
学习git的四种状态
8.git status 查看工作区和暂存区的状态,由下图理解
untracked 未跟踪
staged 暂存状态
modified 文件已修改
unmodify 文件已入库
查看操作的日志与操作本地仓库前进回退历史版本
1.日志
git log
日志打印详细
git log --online
日志打印一行简洁展示
git reflog
日志会打印一个重要的信息指针(HEAD)----用的较多
2.操作本地仓库
git reset --HEAD 索引(哈希值生成)
说明:如果你回退本地仓库,那么暂存区和工作区的文件会同步重置
最重要的点--分支
查看分支 git branch
创建分支 git branch 分支名
结果里, *表示当前在哪个分支
切换分支 git checkout 分支名
分支冲突的问题
同一文件在主分支和分分支分别修改后,提交本地仓库。主分支需要合并其他分分支,首先进入主分支(checkout),合并 git merge 分支名
,此时会出现冲突。
解决办法:冲突时该文件内会包含两分支修改的所有内容,需要人为判断选择留哪个。更改后保存在重新add、commit到本地仓库解决。
远程
一、git上传代码到GitHub
1.远程仓库GitHub创建好一个新仓库注意仓库名
2.本地建一个目录写代码,目录名与仓库命名一致
3.在目录下右键 git Bash here 打开git终端命令行
4.执行git init命令 把目录下的项目变成一个Git可以管理的仓库
5.git add . 命令 告诉Git,把项目下的文件添加到暂存区 . 表示所有文件
6.如果你是第一次使用git,需要设置签名,代表你是谁,团队开发时别人可以看到是谁提交的代码
git config user.email "填你的邮箱地址"
git config user.name "你的名字"
7.接着执行git commit -m "***" ***要填你提交代码的描述
8.连接远程仓库
执行 git remote add origin "***" ***要填你仓库的地址
可以通过git remote -v 显示所有远程仓库
9.在执行git push -u origin master
将代码提交到远程仓库的master分支,如果指定本地仓库分支可以这样写
git push -u origin master:本地仓库分支名
二、当你修改了本地代码要同步到远程时
git pull origin master 先拉取远程仓库的代码,防止冲突
git add . 再次执行添加暂存区命令
git commit -m "***" 将代码提交到本地仓库
git push -u origin master 在提交到远程仓库
三、别人要下载你仓库的代码或者你要下载别人仓库的代码(克隆)
git clone 仓库地址