git基础

一、git基础

1.获取 Git 仓库

通常有两种获取 Git 项目仓库的方式:

  1. 将尚未进行版本控制的本地目录转换为 Git 仓库。
  2. 从其它服务器 克隆 一个已存在的 Git 仓库。

在已存在目录中初始化仓库

  1. 进入进入该项目目录中
  cd my_project
  1. 初始化
  git init

注:该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。 但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪

  1. 所需的文件来进行追踪
  git add '指定文件'
  // or
  git add . // 目录下所有文件
  git commit -m 'commit的内容'

克隆现有的仓库

  git clone '仓库地址'

注:克隆后的库名和链接库名一致

  git clone '仓库地址' mylibgit

注:这会执行与上一条命令相同的操作,但目标目录名变为了 mylibgit

2.记录每次更新到仓库

检查当前文件状态

git status

查看已暂存和未暂存的修改

git diff

stash

  // 能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
  git stash

  // 查看当前stash中的内容
  git stash list

  // 存在堆栈中内容应用到当前目录 (栈: 先进后出), 移除的同时从堆栈中删除
  git stash pop

  // 将堆栈中的内容应用到当前目录 该命令不会将内容从堆栈中删除
  git stash apply

  // 从堆栈中移除某个指定的stash(如stash@{1})
  git stash drop  名称

  // 清除堆栈中的所有 内容
  git stash clear

  // 查看堆栈中最新保存的stash和当前目录的差异
  git stash show

  // 从最新的stash创建分支
  git stash branch

忽略文件

.git目录同级创建.gitignore

.idea
*.iml
npm-debug.log
node_modules
.DS_Store
.tags
.tags1
__tmp
dist
dist-private
resource
static-cache
.vscode
.history
*.zip

文件 .gitignore 的格式规范如下

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。

更新

 git add 
 git commit

移除文件

git rm

3.查看提交历史

git log

4.撤销操作

---->代码回退
git reset HEAD <file>...

5.远程仓库的使用

查看远程仓库

git remote

你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

添加远程仓库

git remote add <shortname> <url>

从远程仓库中抓取与拉取

git fetch <remote>


git pull <remote> <branch>
// or
git pull

推送到远程仓库

git push <remote> <branch>

远程仓库的移除

git remote remove 或 git remote rm

二、git分支

1.分支管理

创建分支

git branch branchName
注: 新建后,当前状态在当前分支上,不会在新建分支

分支切换

git checkout branchName

注:新建分支并切换到新分支的简写
git checkout -b branchName
新建分支branchName 并切换到分支branchName,相当于
git branch branchName
git checkout branch Name

查看分支列表

注: 带*表示当前所在分支

git branch前所有分支的一个列表
img

git branch -v 查看每一个分支的最后一次提交
img

git branch -a 查看所以分支列表(包括远程)

注: 红色标注为远程分支

img

删除分支

git branch -D branchName

2.分支合并

merge

git merge branchName
将分支branchName的修改合并到当前分支,合并前需要commit

遇到冲突时的分支合并

冲突示例

git merge test
Auto-merging public/index.html
CONFLICT (content): Merge conflict in public/index.html
Automatic merge failed; fix conflicts and then commit the result.

在 冲突文件中可看到
img

解决方式1: 按图中指示操作
解决方式2: 使用图形化工具来解决冲突,可以运行 git mergetool

rebase

git rebase branchName

三、git打标签

列出标签

git tag

打标签

git tag v1.0.0

附注标签

git tag -a v1.0.1 -m "测试 1.0.1"

查看: git show v1.0.1
img

删除标签

git tag -d v1.0.1
Deleted tag 'v1.0.1' (was 436be34)

posted @ 2022-05-07 17:19  VictoriaC~  阅读(23)  评论(0编辑  收藏  举报