git学习

安装GIT

官网下载安装gith 后

初始化

打开 git bash

进行全局配置

git config --global user.name "名字"
git config --global user.email "邮箱"

初始化本地仓库

选取一个文件夹做为仓库
git init

添加文件到暂存区 / 从暂存区删除

git add 文件名 对应 git rm --cached 文件
git add *.txt 添加某类 对应 git rm --cached *.txt
git add . 添加所有 对应 git rm --

查看状态:是否添加

git status

将暂存区文件提交到本地仓库

git commit
git commit -m "日志"

查看日志 参数 --pertty

git log 查看完整日志
git log --pretty=oneline 查看一行,用参数

回退版本 参数 --hard HEAD

HEAD指向当前版本,实际是通过指针
命令 git reset --hard commit_id
代表上一个版本,^类推上两个,很多个的时候波浪线 + 回退上x个版本数字,如HEAD~100
git reset --hard HEAD^

查看命令历史,方便确认版本
git reflog

工作区和暂存区

工作区:文件夹就是一个工作区
版本库:工作区下.git文件夹就是git的版本库

git add 实际是把文件修改 添加到 暂存区
git commit 实际是把暂存区所有文件提交到当前分支

git commit 每次提交只会把 git add 的文件修改进行提交,如果add后再次修改文件,commit后是不会包含add之后修改内容
也就是说,每次修改都需要add之后,提交才会包含那次最新的修改

  • 加深理解:每次修改,如果不用git add到暂存区,那就不会加入到commit中

撤销修改三种情况

  • 本地改动,舍弃本地修改
    1、没有git add 到暂存区,使用git checkout -- file 恢复到和版本库一样的状态
    2、git add 到暂存区,git checkout -- file 恢复成add 到暂存区的状态

  • 本地改动,add到了暂存区,git reset HEAD file (把暂存区的修改回退至工作区) 随后按上面的步骤进行

  • 本地改动,且提交到了版本库,按照版本回退处理

远程仓库

创建ssh key: ssh-keygen -t rsa -C "youremail@example.com"
.ssh 中含有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
配置GitHub,SSH KEY
设置title 在key中粘贴 id_rsa.pub公钥的内容

git 关联远程库

origin是习惯命名,通常指远程仓库
git remote add origin git@github.com:fangHAOgithub/Fang_Repository.git

关联后使用:git push -u origin master 第一次推送master分支的所有内容
git push origin master

克隆远程仓库到本地

git clone 地址
git 支持多种协议,https ssh等

分支管理 实际创建的分支只是添加了新的分支指针

创建dev分支: git checkout 命令,-b参数表示创建并切换 等价于 ===> git branch dev git checkout dev
git branch 分支名 也可以创建分支

  • git checkout -b dev

查看分支: 星号 * 指向当前分支
git branch

切换分支回master: git checkout master

合并dev分支到master, 控制台中的fast-forward 指的是合并时快进模式,也就是直接把master指向dev的当前提交,速度很快
git merge dev

合并完成后删除dev 分支
git branch -d dev

  • 需要留意
    切换分支用switch更加科学
    创建并切换至dev分支
  • git switch -c dev
    git switch master

解决冲突

查看分支合并情况
git log --graph

git log --graph --pretty=oneline --abbrev-commit

分支管理策略

fast forward模式删除分治后,会丢失分支信息
禁用fast forward模式,合并分支
使用 --no-ff参数

git merge --no-ff -m "日志" dev ====>因为合并需要创建新的commit,所以需要-m 参数

  • bug分支 创建一个不影响现有开发分支的 bug分支来修复BUG

git stash 它可以保留此前工作区中修改但是没有提交(没做完的),修复bug后可以恢复

恢复现场,两种方式
1、 git stash apply 恢复此前开发中的现场,但是stashd 内容并不会删除,需要用 git stash drop 删除
2、 git stash pop 恢复的同时把 stash 的内容删除

查看stash中的内容可以 用 git stash list 查看
可以多次git stash,恢复时 指定某个即可 git stash apply stash@{i}

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...