一、使用Github
1、目的:
借助GitHub托管项目代码
2、基本概念
仓库(Reposltory):代表你的项目,想在GitHub上开源一个项目,就必须新建一个Reposltory.
收藏(Star):收藏项目
复制克隆项目(Fork):
二、Git安装和使用
1、目的
通过Git管理GitHub托管项目代码
2、安装
Git官网下载:https://www.git-scm.com/dowload/win
安装:无脑安装
三、Git工作流程
1、Git工作区
工作区:添加、编辑修改文件等动作。
暂存区:暂存已经修改的文件最后统一提交到Git仓库中。
Git仓库:最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见。
四、Git初始化以及仓库创建和操作
1、Git初始化
设置用户名
git config --global user.name ‘github用户名’
设置用户名邮箱
git config --global user.emal ‘github邮箱’
1、桌面创建新文件件如:project
2、进入文件夹(project)
git config --global user.name 'github用户名'
git config --global user.emal 'github邮箱'
2、创建一个新的Git仓库
在上面的基础上新建文件夹
mkdir test
初始化Git
cd test
git init --- 生成隐藏文件.git
3、向本地仓库添加文件
创建a1.py文件
touch a1.py
git status
提交到暂存区
git add a1.py
git status
提交到本地仓库
git commit -m '修改描述'
git status
修改仓库文件
ls -- 列出仓库文件
git status
vim a1.py -- 修改文件
cat a1.py -- 查看文件
git status
git add a1.py -- 添加暂存区
git status
git commit -m '修改文件描述' -- 提交本地仓库
git status
删除文件
rm -f 文件
从Git中删除文件
git rm 文件
提交操作
git commit -m '描述'
4、Git远程仓库管理
Git克隆操作-- github获取链接
git config --list
将远程仓库复制到本地
git clone 仓库地址
本地操作
vim 文件
git add 文件 -- 暂存区
git commit -m '描述' -- 提交仓库
git push -- 提交远程仓库
六、本地库和远程库
1、团队内协作
A:本地库操作
本地库初始化
# 第一步,随便创建一个文件夹,进入文件夹,打开git命令窗口。
# 第二步,创建一个测试文件夹,test。进入test文件夹
# 第三步,初始化一个仓库。
git init # 生成.git目录,存放本地库相关的子目录和文件,不要修改。
# 第四步,设置签名。区分不同开发人员的身份。
# 项目级别/仓库级别:仅在当前本地库范围内有效。
git config user.name 用户名
git config user.emal 邮箱
# 签名信息保存在哪里
cat .git/config
# 系统用户级别:登录当前操作系统的用户范围。
git config --global user.name 用户名
git config --global user.emal 邮箱
# 签名信息保存在哪里
cat ~/.gitconfig
基本操作
# 查看状态
git status
# 添加暂存区
git add 文件名
# 撤销暂存区文件
git rm --cached 文件名
# 上传本地仓库
git commit 文件名
git commit -m '描述信息' [文件名]
# 查看版本历史纪录
git log --pretty = oneline
git log --oneline
git reflog
# 前进后退历史纪录(HEAD)
# 1、基于索引值操作
git reset --hard 索引值
cat 文件名 # 当前版本文件内容
# 2、使用^符号:只能往后退
git log --oneline
git reset --hard HEAD^
tail -n 3 文件名 # 显示文件最后3行
# 3、使用~符号:只能后退
git log --oneline
git reset --hard HEAD~n # 后退n步
# reset 参数说明
--soft # 仅在本地库移动HEAD指针。
-- mixed # 在本地库移动HEAD指针,重置暂存区。
--hard # 在本地库移动HEAD指针,重置暂存区,重置工作区。
# 删除文件并找回
# 前提:删除前,文件存在时的状态提交到了本地库。
# 操作 :git reset --hard[指针位置]
rm 文件名 # 工作区删除
git status
# 删除文件添加到暂存区、还没有提交到本地库。
git reset --hard HEAD 版本号
# 删除操作已经提交到本地库:指针位置指向历史记录。
git reset --hard 版本号
# 比较文件差异
git diff 文件名 # 将工作区的文件和暂存区进行比较
git diff HEAD 文件名 # 将工作区文件和本地库文件比较
分支管理
# 查看所有分支
git branch -v
# 创建分支
git branch 分支名
# 切换分支
git chechout 分支名
# 合并分支
# 第一步:切换到接受修改的分支上
git checkout 分支名
# 第二步:使用merge命令
git merge 分支名
# 合并产生冲突、解决冲突。
# 第一步:编辑文件,删除特殊符号。
vim 文件名 # 删除 特殊符号
# 第二步:把文件修改到满意的程度,保存退出。
# 第三步:添加文件到缓存区
git add 文件名
# 第四步:提交文件到仓库
git commit -m '描述'
# 注意 提交不能带文件名
B:远程库操作
# 第一步:创建本地仓库,添加文件
# 第二步:创建远程库
# 第三步:本地文件推送远程仓库
git remote -v
git remote add 别名 网址
git push 别名 分支名
# 克隆操作
# 作用:完整的把远程库下载到本地,创建远程地址别名,初始化本地库。
git clone 网址
# 远程库拉取
pull = fetch(下载) + merge(合并)
git fetch 别名 分支名
cat 文件 # 没有改变:只是将远程文件下载到本地,并没有改变本地工作区。
git checkout 别名/分支名 # 切换身份
cat 文件名 # 查看远程下载的文件
# 合并
git merge 别名/分支名