GIt系列(0)常用命令

本文详细介绍了Git的基本操作,包括设置用户信息、创建本地仓库、理解工作区、暂存区和版本库的区别,以及文件的添加、提交、恢复等操作。此外,还涵盖了分支的创建、切换、合并及解决冲突的方法,以及远程仓库的推送、拉取和克隆。
摘要由CSDN通过智能技术生成

设置本地签名

git config --global user.name "name"   # 设置你的用户名
git config --global user.email "email" # 设置你的邮箱

在本地创建仓库

git init # 将当前路径下,创建git仓库
git init directory # 不存在则创建directory目录,存在则直接在directory中创建git仓库

Git 中三个区域

工作区(包含.git目录的上一级目录)

工作区是我们平时写代码的目录文件夹
使用 git init 之后,git仓库创建之后,工作区产生了,包含.git目录的上一级目录就是工作区 ,这里a为工作区
a为工作区

工作区添加到暂存区(git add )

暂存区是暂时存放修改文件或目录的区域,index为暂存区
第一次用 git add file 后,会创建 index 文件 ,以后每一次成功使用 git add file 命令,添加文件到暂存区后 ,index文件都会更新
git add file # 把file从工作区添加到暂存区
index为暂存区

暂存区提交到版本库 (git commit)

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库
在使用git init 后,创建的 .git目录为版本库,版本库(.git目录)中存储了不同版本的代码、日志和文件版本信息等。
git commit file -m # 把文件从暂存区提交到版本库
.git是版本库

工作区到暂存区

git add file1 file2 # 添加指定文件到暂存区
git add dir # 添加指定目录到暂存区,包括子目录
git add . # 添加当前目录的所有文件到暂存区

暂存区到工作区

git restore file #让这个文件撤回到最近一次的git add或git commit后的状态
git check – file #让这个文件撤回到最近一次的git add或git commit后的状态
让这个文件撤回到最近一次的git add的状态
file做了两次修改,第一次添加到暂存区了,第二次没有添加,撤回的是第二次在工作区的修改,回到第一次添加到暂存区后的状态,这个命令不能够撤回已经添加到暂存区的内容。

touch file   # 创建file
vim file     # 编辑file,记事本也行,不介绍如何使用vim, 自己搜索
cat file     #打印 file 的内容
12345
git add file # 添加file文件到暂存区
rm file      # 删除file文件
git restore file #恢复file,把暂存区的file复制到工作区
vim file    # 编辑file,记事本也行,不介绍如何使用vim, 自己搜索
cat file    #打印 file 的内容
6789
git restore file # 恢复file,把暂存区的file复制到工作区,工作区file为最近的一次add 的 file
cat file    #打印 file 的内容
12345

让这个文件撤回到最近一次的git commit的状态
file修改后还没放到暂存区,直接撤回到与版本库中的file一样的状态(file之前提交到了版本库)

touch file   # 创建file
vim file     # 编辑file,记事本也行,不介绍如何使用vim, 自己搜索
cat file     #打印 file 的内容
12345
git add file # 添加file文件到暂存区
git commit -m "first commit" # 将暂存区的文件提交到版本库,  "里面写注释 "
vim file    # 编辑file,记事本也行,不介绍如何使用vim, 自己搜索
cat file    #打印 file 的内容
6789
git restore file # 恢复file,直接撤回到与版本库中的file一样的状态
cat file    #打印 file 的内容
12345

暂存区到版本库

git commit -m “abcd” # 将暂存区的文件提交到版本库, "里面写注释 "
git commit file1 file2 dir1 dir2 -m "注释 " # 将暂存区的文件file1 file2提交到版本库 , 将暂存区的目录 dir1 dir2提交到版本库

暂存区到工作区

git restore file # 让这个文件撤回到最近一次的git add或git commit后的状态
git restore --staged file # 暂存区的文件从暂存区撤出,但不会更改文件

GIt分支

没有 master 分支,无法新建分支,git add和git commit 后,自动保存到master ,然后可以新建分支

git branch branch_name #创建分支branch_name,
git checkout branch_name #切换到branch_name
git merge branch_name #当前目录合并branch_name
git branch -d branch_name #删除branch_name分支
git branch -v #查看分支

GIt分支冲突

在两个分支上都对同一个文件进行修改并且还都进行了提交

git checkout -b dev #创建一个新的分支dev,并且切换到该分支中
vim code.cpp #在dev分支中修改我们的文件code.cpp,并且提交新的版本
git add code.cpp
git commit code.cpp -m #"在dev中提交"
git checkout master #然后切换回master分支,在master分支中修改code.cpp,并且也提交一个新的版本
vim code.cpp 
git add code.cpp
git commit code.cpp -m "在master中提交"
git merge dev
cat code.cpp
<<<<<<< HEAD
YYYYYYY
=======
XXXXX
>>>>>>> master
# 选择内容,删特殊符号(<<<<<<< HEAD 、=======、>>>>>>> master)
cat code.cpp
YYYYYYY
git add .
git commit -m "xxx"
git checkout -d dev # 删掉dev分支, 看请况决定,可以不删

本地到远程

git remote add origin https://gitee.com/itwbs/learngit.git # 此行代码的作用就是连接远程的learngit仓库
git push -u origin <本地分支名>:<远程仓库分支名> #将本地learngit仓库的所有内容,推送到远程的learngit仓库中

远程到本地

git fetch origin <远程仓库分支名>:<本地分支名> #从远程仓库下载到<本地分支名>
git fetch origin <远程仓库分支名> #从远程仓库下载到当前本地分支
git merge FETCH_HEAD #合并FETCH_HEAD

git pull origin <远程分支名>:<本地分支名> #将远程指定分支拉取到本地指定分支上
git pull origin <远程分支名> #将远程指定分支拉取到本地当前分支上

git clone https://gitee.com/itwbs/learngit.git #将远程仓库https://gitee.com/itwbs/learngit.git克隆到本地仓库

查询信息

git diff 版本号1 版本号2 # 查看两个版本之间的差异
git diff 版本号1 版本号2 – 文件名1 文件名2 # 查看两个版本之间的指定文件之间的差异
git diff # 查看工作区和暂存区之间所有的文件差异
git diff – 文件名 # 查看具体某个文件在工作区和暂存区之间的差异

git status #命令用于显示工作目录和暂存区的状态

git config --list #查看配置信息

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值