Git笔记

Git

开始

使用步骤

1.下载安装git,打开git bash看是否安装成功。

2.配置名称和邮箱

3.创建版本库(即能被git管理的仓库),

4.git init Initialized empty Git repository in /Users/Dm20/learngit/.git/,将仓库初始化

5.在该路径下写一个文件,通过git add readme.txt,添加到仓库。

6.git commit -m "wrote a readme file",把文件提交到仓库。

7.修改文件,然后git status查看文件状态,git diff查看修改的内容。

8.git log查看文件修改日志

9.通过顺序回退文件版本git reset --hard HEAD~n回退n个版本。
通过版本号回退到numbers,git reset --hard HEAD numbers

10.没有git add,用git checkout --fiel
已经git add,用git reset HEAD <file>从暂存区删除,再按照上述步骤1操作
已经git commit,用git reset --hard HEAD~n回退版本。

配置GIt

配置Git 的全局信息

git config --global user.name <user name>
git config --global user.email <user email>

初始化Git

在目录下创建一个.git目录

git init

添加

将 Workspace 中的文件 add 到 Index area

git add <filename>

将 Index area 中的文件 Commit 到 Repository

git commit -m <commit message>

查看

查看Git状态

git status

对比文件差异

git diff <file name>
git diff HEAD -- readme.txt		命令可以查看工作区和版本库里面最新版本的区别

查看日志

# 部分日志
git log

#所有日志(一行表示一条日志,比较直观)
git reflog 

撤销

撤销文件更改

# 未添加到暂存区
git restore <filename>

# 未提交到仓库
git restore --staged <file name>

回退版本

# 已提交到仓库(通过 git reflog 去查看位置)
git reset --hard HEAD^
git reset --hard HEAD~1
git reset --hard <hashcode>

远程仓库

开始

创建SSH Key

C:\Users\Dm20 中查看是否有 .ssh 目录,如果没有则需要创建。

ssh -keygen -t rsa -C <email>

添加SSH Key

id_rsa.pub内容复制到Github -> setting -> SSH Keys

从远程仓库Clone

git clone <remote repository address>

关联远程仓库

# 为远程仓库添加别名为origin
git remote add origin <remote repository address>

推送和克隆

将本地仓库 Push 到远程仓库

# 初次使用,加上-u参数,origin为远程仓库的别名,推送到远程仓库的master分支
git push -u origin master

# 第二次使用
git push origin master

# 推送其他分支
git push origin <branch name>

查看

查看远程仓库的信息

# 查看简略信息
git remote

# 查看详细信息
git remote -v

分支

查看分支

git branch

创建分支

# 只创建分支
git branch <branch name>

# 创建并切换分支
git checkout -b <branch name>
git switch -c dev

# 在本地创建dev分支并与远程分支链接
git checkout -b dev origin/dev

# 已经创建了dev的情况下再与远程分支链接
git branch --set-upstream-to=origin/dev dev

切换分支

git checkout <branch name>
git switch dev

合并分支到当前分支(改变的是自己,合并后可删除另一个分支)

git merge <branch name>

删除分支

git branch -d <branch name>

解决冲突

冲突1:本地文件

修改冲突的文件再 addcommit

冲突2:远程仓库文件冲突

  1. git checkout -b dev origin/dev 创建分支dev开始工作
  2. 完成后 addcommit
  3. git push origin dev 失败后
  4. git pull 将远程的比我早的 origin/dev 提交抓取下来
  5. git branch --set-upstream dev origin/dev 将本地 dev 和远程 origin/dev 进行链接
  6. git pull, 此时会出现冲突,手动解决
  7. git push origin dev 将本地dev推送到远程

冲突3:

  1. git fetch
  2. git merge
  3. git commitgit push

暂存分支

当出现Bug急需修复,且当前分支也未完成,此时需要暂存当前分支

git stash

再创建新分支修复Bug,修复完成后恢复之前的分支

# 恢复之前的分支
git stash apply
# 删除之前的分支
git stash drop

#恢复并删除
git stash pop

标签

git tag <name> 在当前分支上打上一个标签

git tag 查看所有标签

git tag v0.9 f52c633 在历史提交中找到commit ID,然后打标签

git show <tagname> 查看标签信息

还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:git tag -a v0.1 -m "version 0.1 released" 1094adb

注意

结构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PknsQaGj-1632205904955)(https://gitee.com/have-a-lucid-brain/images224/raw/master/ImageBed/IMG_1092(20200409-200033)].jpg)

checkout-master

三种状态

  • 已提交(committed)
  • 已修改(modified)
  • 已暂存(staged)

主分支

  • 本地仓库主分支默认为 master
  • 远程仓库主分支默认为 origin

提交的过程

  1. 工作区是干净的

git1

  1. 从工作区提交到暂存区

git2

  1. 从暂存区提交到分支

git3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值