目录
一、安装Git
Ubuntu安装
安装git
apt-get install git
验证安装是否成功
git --version
成功返回git版本号
Windows安装包下载地址:https://gitforwindows.org/
二、Git基本概念
Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。
工作区:就是你在电脑里能看到的目录。
暂存区:一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引
版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库
三、Git基本操作
注:workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
初始化Git仓库 Git init
使用当前目录作为 Git 仓库
git init
使用我们指定目录作为Git仓库
git init <newrepo>
添加文件到暂存区Git add
添加一个或多个文件到暂存区
git add [file1] [file2] ...
添加当前目录下的所有文件包括子目录到暂存区
git add .
提交暂存区到本地仓库Git commit
提交暂存区到本地仓库中
git commit -m [备注信息]
提交暂存区的指定文件到仓库区
git commit [file1] [file2] ... -m [备注信息]
上传至远程并合并 Git push
将本地的 master 分支推送到 origin 主机的 master 分支
git push origin master
Git 分支管理
Git 分支实际上是指向更改快照的指针
创建分支:Git branch
没有参数时,会列出你在本地的分支
git branch
当执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支
创建一个分支
git branch 分支名
切换分支:Git checkout
git checkout 所需要切换的分支名
删除分支
git branch -d 分支名
分支合并Git merge
git merge
常见问题:合并冲突
BUG:Automatic merge failed; fix conflicts and then commit the result.
解决方案:
一、cat 冲突文件
二、git diff查看差异进行手动修改
三、重新git add该文件
拷贝Git仓库至本地Git clone
git clone [url]
从远程合并代码Git pull
git pull <远程主机名> <远程分支名>:<本地分支名
例:git pull origin master
回退版本Git reset
git reset 命令语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
注:--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)
保持一致,工作区文件内容保持不变。
--soft 参数用于回退到某个版本
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并
删除之前的所有信息提交
实例操作
git reset HEAD^ # 回退所有内容到上一个版本
git reset HEAD^ test.c # 回退 test.c 文件的版本到上一个版本
git reset 052e # 回退到指定版本
git reset --soft HEAD~1 # 回退上一个版本
git reset --hard HEAD~3 # 回退上上上一个版本
git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
git reset --hard origin/master # 将本地的状态回退到和远程的一样
HEAD说明:
HEAD | 当前版本 | HEAD~0 | 当前版本 |
HEAD^ | 上一个版本 | HEAD~1 | 上一个版本 |
HEAD^^ | 上上一个版本 | HEAD^2 | 上上一个版本 |
HEAD^^^ | 上上上一个版本 | HEAD^3 | 上上上一个版本 |
其他操作
git status | 查看仓库当前的状态,显示有变更的文件 |
git rm | 将文件从暂存区和工作区中删除 |
git mv | 移动或重命名工作区文件 |
git log | 查看历史记录 |
git blame <file> | 以列表形式查看指定文件的历史修改记录 |
git tag | 给重要版本打标签 |
四、git 远程仓库(gtihub)
添加一个新的远程仓库
git remote add [shortname] [url]
参数:shortname:起个名字,默认为origin
url:请求github中的.git的url
例:git remote add origin https;//github.com/在github上注册的名字/仓库.git
由于你的本地 Git 仓库和 GitHub 仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息
具体过程:https://blog.csdn.net/weixin_44415582/article/details/131502886?spm=1001.2014.3001.5501
在github上创建远程仓库
在本地的仓库下上传至github
创建目录
一、创建相应的目录
mkdir 目录名
二、直接git clone github的远程仓库名
git clone url
标准上传步骤
git init # 初始化
git add . # 添加文件
git commit -m "提示消息" # 提交并备注信息
git push -u origin master # 提交到 Github
Ubuntu上Git push提交不上问题:
https://blog.csdn.net/weixin_44415582/article/details/131503585?spm=1001.2014.3001.5502
查看当前的远程库
查看别名
git remote
查看别名的实例链接地址
git remote -v
提取远程仓库
从远程仓库下载新分支与数据
git fetch
从远端仓库提取数据并尝试合并到当前分支
git merge
五、安装Git可视化
Sourcetree:https://www.sourcetreeapp.com/