git常用操作命令

本文介绍git常用的操作命令,供大家参考。

1、开始

bash 复制代码
# 初始化本地git
git init

# 在初始化的目录中,创建readme.txt,添加到git库中
git add readme.txt
git commit -m "写了一个readme.txt文件"

2、版本回退

2.1、git reset

bash 复制代码
git log 
git log --pretty=oneline

# 回退
git reset --hard HEAD^
  • --hard:回退到上个版本的已提交状态。
  • --soft:回退到上个版本的未提交状态。
  • --mixed:回退到上个版本已添加但未提交的状态。
bash 复制代码
# 回到指定版本,往前往后都可以
git reset --hard f060 

# 查看提交的id,当用git log命令找不到你想要的id时使用。一般是先回退,后来又反悔了。
git reflog

2.2、git restore

相对于git reset命令,git restore更好用一些,这是新命令,需要在2.23版本以上使用。

bash 复制代码
## 恢复a.txt到最近的提交
git restore a.txt

## 将b.txt从暂存区移除
git restore  --staged b.txt

## 从指定提交回复文件
git restore --source=HEAD~1 c.txt

3、几个概念

  • 工作区:就是你电脑的某个初始化了git的文件夹。
  • 版本库:工作区有个.git文件夹,隐藏的,这就是git的版本库。
    • stage:暂存区,执行 git add 命令时,就是把文件添加到暂存区。
    • master:主分支,执行 git commit 命令时,实际是把暂存区的内容提交到master。

4、撤销修改

当你修改了文件,又想恢复到修改前的状态时,用下面的命令。用于恢复工作区和暂存区中的文件,也可以用于丢弃未提交的更改。

bash 复制代码
# 老命令,双横线不能少,否则就成了操作分支了
git checkout -- readme.txt

# 新命令,用这个命令即可。
git restore readme.txt

5、远程仓库

5.1、生成ssh key

bash 复制代码
ssh-kengen -t rsa -C "你的邮箱"

找到.ssh目录,windows系统在:C:\Users\Administrator.ssh。如果你不是用Administator登录的,那就把Administrator换成你的用户名。

执行上面命令后,在.ssh目录下会生成两个文件,id_rsa和id_rsa.pub。其中id_rsa.pub 是公钥,如果你使用SSH key连接远程仓库时,把它的内容复制就行了,具体操作大家查一下。

5.2、使用gitee创建仓库

注册并登录gitee,右上角加号,创建仓库:

这是添加仓库截图,都很简单,大家自行操作。

5.3、关联本地仓库与远程仓库

在本地仓库目录下,执行:

bash 复制代码
git remote add origin [email protected]:maodou95838_admin/a-test.git

注意:后面的maodou95838_admin/a-test.git写成你自己的,否则是不能推送的。

5.4、推送

bash 复制代码
# 首次推送
# -u 关联本地master和远程master
git push -u origin master 

# 从第二次后就不用再加 -u 
git push origin master

5.5、取消关联

bash 复制代码
# 查看远程库的信息
git remote -v

# 按照名字取消关联
git remote rm origin

5.6、从远程库clone

bash 复制代码
git clone [email protected]:maodou95838_admin/a-test.git

6、分支管理

到现在为止,我们都是在master分支上操作。

6.1、checkout命令

bash 复制代码
# 创建并切换到dev
git checkout -b dev

# 切换到master
git checkout master

# 合并dev到master分支,注意:当前分支是master
git merge dev

# 删除dev分支
git branch -d dev

6.2、switch命令

bash 复制代码
# 创建并切换到dev分支
git switch -c dev

# 切换到master
git switch master

6.3、stash

当你在分支上工作,工作没做完又不能提交,现在要去别的分支上工作,此时stash就用上了。

bash 复制代码
# stash 用于暂存工作区
git stash

# 查看工作区
git stash list

# 恢复工作区并删除stash的内容
git stash pop

6.4、rebase

bash 复制代码
git rebase
  • rebase操作可以把本地未push的分叉提交历史整理成直线。
  • rebase的目的是使我们在查看历史提交的变化时更容易。

7、标签管理

bash 复制代码
# 当前提交打成v1.0
git tag v1.0

# 查看
git tag

# 给f12345提交打v0.2
git tag v0.2 f12345

创建的标签只存储在本地,不会自动推送到远程。要推送某个标签,使用:

bash 复制代码
git push origin v1.0

8、忽略本地文件

在工作区根目录添加.gitignore文件,添加配置即可,github上也有现成的,拿下来修改就行了。

一个简单的例子:

txt 复制代码
# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

8.1、检查.gitignore

bash 复制代码
git check-ignore -v .idea/

8.2、强制添加文件

bash 复制代码
git add -f Abc.class

8.3、排查个别文件

text 复制代码
# 排查所有.开头的文件
.*

# 不排除.gitignore
!.gitignore

9、配置别名

bash 复制代码
# 用st代替status
git config --global alias.st status

# 后面使用git st相当于使用git status
git st

好了,git常用的操作就说完了,大家根据自己工作中的需要各取所需。

:)~

相关推荐
2401_859049083 小时前
Git使用
arm开发·git·stm32·单片机·mcu·算法
君鼎5 小时前
Git全流程操作指南
git
Se_ren_di_pity12 小时前
git入门笔记
git
omage13 小时前
如何将带有LFS对象的git仓库推送到gitlab
git·gitlab·lfs
Linux运维技术栈14 小时前
从版本控制到协同开发:深度解析 Git、SVN 及现代工具链
git·svn
wusam14 小时前
Linux系统管理与编程23:巧用git资源一键部署LAMP
linux·运维·git·shell·lamp
不爱学英文的码字机器17 小时前
[Git] 如何进行版本回退
大数据·git·elasticsearch
白开水不加冰1 天前
git初始化及操作指南
git
PyAIGCMaster1 天前
vscode git push 记录
ide·git·vscode