我是靠谱客的博主 苗条水杯,最近开发中收集的这篇文章主要介绍尚硅谷Git笔记背景Git命令其他,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 背景
  • Git命令
    • 基本命令
      • git config
      • git init
      • git status
      • git add xx
      • git rm --cached xx
      • git commit -m "备注" xx
      • git reflog
      • git log
      • git reset --hard 版本号
    • 版本控制
      • git branch
      • git branch 分支名
      • git branch -v
      • git checkout 分支名
      • git merge 分支名
    • 远程库操作
      • git remote -v
      • git remote add 别名 远程地址
      • git push 别名 分支
      • git clone 远程地址
      • git pull 远程库地址别名 远程分支名
  • 其他
    • 指针
    • 冲突
      • 冲突原因
      • 冲突合并
      • 撤销冲突状态
      • 查看冲突内容
      • 解决冲突
    • 本地第一次推送到远程库
      • 背景
      • 操作
    • 远程库同步.ignore
      • 背景
      • 操作

背景

Git版本:2.31.1
视频地址:https://www.bilibili.com/video/BV1vy4y1s7k6

Git命令

基本命令

git config

设置用户签名(--global 可以去掉,去掉的话配置就不是全局的)
git config --global user.name 用户名
git config --global user.email 邮箱
windows设置完上面的内容,去C盘的与当前windows用户名同名目录下,会有.gitconfig文件,文件内容就是设置的全局用户名、邮箱

git init

初始化git,生成隐藏的 .git 目录

Linux 命令 ll -a 能显示隐藏文件

git status

查看 git 状态

在 git init结果:
On branch master
# 当前分支
No commits yet
# 当前内容还没有提交
nothing to commit (create/copy files and use "git add" to track)
# 有哪些东西可以commit
# 红色的文件表示没有被添加进暂存区,绿色的文件表示已添加

这时候添加一个文件

git add xx

将xx目录、文件添加进暂存区

“git add .” :将此目录下的所有文件都添加到暂存区

git rm --cached xx

将xx目录、文件从暂存区删掉

用于从暂存区中删掉 git add 命令添加进的目录、文件

这个删除只是从git暂存区中删掉,目录、文件的物理实体依旧存在

git commit -m “备注” xx

将xx目录、文件提交到本地库

如果没有给出xx,默认就提交add进暂存区的内容

git reflog

查看引用日志信息,可以看版本信息(精简的版本号,提交备注)

git log

查看更详细的日志信息(完整版本号,提交人,提交时间,提交备注)

git reset --hard 版本号

版本穿梭,到版本号指定的那个版本

版本号就是 git reflog、git log 显示内容中的那串码

用于在同一个分支中切换到不同提交的版本

当合并冲突时,当前分支会变为merging状态,取消merging状态命令 git reset --hard head,这里的head不是版本号,就是head

版本控制

git branch

显示所有分支,当前所在分支前会有星号*

git branch 分支名

创建分支,默认会以当前分支为基础创建,也就是新分支的内容就是当前分支的现有内容

git branch -v

查看当前分支

git checkout 分支名

切换分支

git merge 分支名

把指定的分支合并到当前分支上

远程库操作

git remote -v

查看当前所有远程地址别名

git remote add 别名 远程地址

给“远程地址”起“别名”,别名一般都会是 origin
创建别名后 git remote -v 查看会看到两个,一个用来 fetch 拉取,一个用来 push 推送
注意“远程地址”是github或gitee或gitlab提供的http或https开头的,不是ssh的

git push 别名 分支

推送本地分支上的内容到远程仓库

git clone 远程地址

将远程仓库的内容克隆到本地

git pull 远程库地址别名 远程分支名

将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

其他

指针

HEAD -> 分支名 -> commit提交版本
我们所说的指针都是指向具体版本记录的指针,当前是哪个分支是由HEAD指针决定的,HEAD指向哪个分支指针,我们就在哪个分支上
所以创建分支的本质就是多创建一个指针;切换分支就是把HEAD指向另一个版本指针

冲突

冲突原因

两个分支在同一个文件的同一个位置有两套完全不同的修改,合并的时候Git无法替我们决定使用哪一个,就产生了冲突

冲突合并

在有冲突的时候合并,会提示错误并且当前分支会变为merging状态

撤销冲突状态

当合并冲突时,当前分支会变保持为merging状态
撤销merging状态命令 git reset --hard head,这里的head不是版本号,就是head

查看冲突内容

在分支是merging状态时,打开提示有冲突的文件,会发现这样的内容:

<<<<<<< HEAD
当前分支下的内容
=======
要与当前分支合并的另一分支下的内容
>>>>>>> 另一分支的名字

解决冲突

  1. 首先要解决冲突的文件内容
编辑提示有冲突的文件内容,将冲突的部分手动解决,保存退出
  1. 添加文件到暂存区
git add 目录或文件名
  1. 最后提交本地库
git commit -m "备注"
注意,这条命令不能在最后带有“目录或文件名”

将所有冲突的内容提交本地库后,就会发现分支的merging状态消失了

本地第一次推送到远程库

背景

本地创建的项目,想推送到自己的远程库
远程库没有对应项目,需要新建

操作

远程:
新建仓库
复制仓库地址(http或https开头的,非ssh)
本地:(在项目目录下用git bash操作,默认本地分支是master)
git init
git status (非必须,这里就是为了看下git状态)
git add .
git branch (非必须,看git分支)
git commit -m '注释'
git remote add
远程仓库别名(一般是origin)
远程仓库地址
git remote -v (非必须,看远程分支)
git push origin master -f (强制推送,本地会全部覆盖远程,这里只针对远程仓库为空的情况)
如果远程也有内容,即不可以强制push以本地覆盖远程,可参考下面的(本人没试过,不知道效果)
git branch
本地新分支名
// 这中间是不是要加一个切换到新分支的过程? “git checkout 本地新分支名”
git push
远程仓库名
远程分支名

远程库同步.ignore

背景

远程的有些文件或目录想忽略掉,但一开始上传时这些内容都上传到仓库了,现在想根据新的 .ignore 文件 “刷新” 一下远程库,将已经上传的文件从远程库删掉

操作

本地:
配置 .ignore 文件
git rm -r --cached .
git add .
git commit -m '注释'
git push 远程仓库别名
远程分支名

最后

以上就是苗条水杯为你收集整理的尚硅谷Git笔记背景Git命令其他的全部内容,希望文章能够帮你解决尚硅谷Git笔记背景Git命令其他所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部