git常用命令

本文介绍了Git的一些基本及高级命令,包括配置用户信息、初始化仓库、日常操作如添加、提交、查看状态,分支操作如创建、合并、删除,远程仓库的同步,以及如何撤销更改和存储工作。此外,还讨论了`gitstash`用于临时存储未完成的工作以及`gitpull`和`gitfetch`的区别。
摘要由CSDN通过智能技术生成

Git 常用的命令

null

一、前言

git的操作可以通过命令的形式执行,日常使用就如下图 6 个命令即可

null

实际上,如果想要熟练使用,超过 60 多个命令需要了解,下面则介绍下常见的的git命令

二、有哪些

大致分成了以下几个类别

  • 配置
  • 初始化
  • 日常基本操作
  • 分支操作
  • 远程同步
  • 撤销
  • 存储

配置

Git自带一个 git config 的工具来帮助设置控制 Git外观和行为的配置变量,在我们安装完git之后,第一件事就是设置你的用户名和邮件地址

后续每一个提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改

设置提交代码时的用户信息命令如下:

- git config [--global] user.name "[name]"
- git config [--global] user.email "[email address]"

启动

一个git项目的初始有两个途径,分别是:

  • git init [project-name]:创建或在当前目录初始化一个 git 代码库
  • git clone url:下载一个项目和它的整个代码历史

日常基本操作

在日常工作中,代码常用的基本操作如下:

- git init   ————初始化仓库,默认为 master 分支
- git add .   ————提交全部文件修改到缓存区
- git add <具体某个文件路径+全名>   ————提交某些文件到缓存区
- git diff   ————查看当前代码 add 后,会 add 哪些内容
- git diff --staged   ————查看现在 commit 提交后,会提交哪些内容
- git status   ————查看当前分支状态
- git pull <远程仓库名> <远程分支名>   ————拉取远程仓库的分支与本地当前分支合并
- git pull <远程仓库名> <远程分支名>:<本地分支名>   ————拉取远程仓库的分支与本地某个分支合并
- git commit -m "<注释>"   ————提交代码到本地仓库,并写提交注释
- git commit -v   ————提交时显示所有 diff 信息
- git commit --amend [file1] [file2]   ————重做上一次 commit,并包括指定文件的新变化

关于提交信息的格式,可以遵循以下的规则:

- feat: 新特性,添加功能
- fix: 修改 bug
- refactor: 代码重构
- docs: 文档修改
- style: 代码格式修改, 注意不是 css 修改
- test: 测试用例修改
- chore: 其他修改, 比如构建流程, 依赖管理

分支操作

- git clone -b <分支名> <仓库地址>   ————下载指定分支
- git branch   ————查看本地所有分支
- git branch -r   ————查看远程所有分支
- git branch -a   ————查看本地和远程所有分支
- git merge <分支名>   ————合并分支
- git merge --abort   ————合并分支出现冲突时,取消合并,一切回到合并前的状态
- git branch <新分支名>   ————基于当前分支,新建一个分支
- git checkout --orphan <新分支名>   ————新建一个空分支(会保留之前分支的所有文件)
- git branch -D <分支名>   ————删除本地某个分支
- git push <远程库名> :<分支名>   ————删除远程某个分支
- git branch <新分支名称> <提交 ID>   ————从提交历史恢复某个删掉的某个分支
- git branch -m <原分支名> <新分支名>   ————分支更名
- git checkout <分支名>   ————切换到本地某个分支
- git checkout <远程库名>/<分支名>   ————切换到线上某个分支
- git checkout -b <新分支名>   ————把基于当前分支新建分支,并切换为这个分支

远程同步

远程操作常见的命令:

- git fetch [remote]   ————下载远程仓库的所有变动
- git remote -v   ————显示所有远程仓库
- git pull [remote] [branch]   ————拉取远程仓库的分支与本地当前分支合并
- git fetch   ————获取线上最新版信息记录,不合并
- git push [remote] [branch]   ————上传本地指定分支到远程仓库
- git push [remote] --force   ————强行推送当前分支到远程仓库,即使有冲突
- git push [remote] --all   ————推送所有分支到远程仓库

撤销

- git checkout [file]   ————恢复暂存区的指定文件到工作区
- git checkout [commit] [file]恢复某个 commit   ————的指定文件到暂存区和工作区
- git checkout .   ————恢复暂存区的所有文件到工作区
- git reset [commit]   ————重置当前分支的指针为指定 commit,同时重置暂存区,但工作区不变
- git reset --hard   ————重置暂存区与工作区,与上一次 commit 保持一致
- git reset [file]   ————重置暂存区的指定文件,与上一次 commit 保持一致,但工作区不变
- git revert [commit]   ————后者的所有变化都将被前者抵消,并且应用到当前分支

reset:真实硬性回滚,目标版本后面的提交记录全部丢失了

revert:同样回滚,这个回滚操作相当于一个提价,目标版本后面的提交记录也全部都有

存储操作

你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作,但又不想提交这些杂乱的代码,这时候可以将代码进行存储

- git stash   ————暂时将未提交的变化移除
- git stash pop   ————取出储藏中最后存入的工作状态进行恢复,会删除储藏
- git stash list   ————查看所有储藏中的工作
- git stash apply <储藏的名称>   ————取出储藏中对应的工作状态进行恢复,不会删除储藏
- git stash clear   ————清空所有储藏中的工作
- git stash drop <储藏的名称>   ————删除对应的某个储藏

三、总结

git常用命令速查表如下所示:

null

四、常用命令

mkdir XX:   ————创建一个空目录 XX指目录名
pwd    ————显示当前目录的路径
cat xx    ————查看xx文件内容
git init    ————把当前的目录变成可以管理的git仓库,生成隐藏的.git文件夹
git add xx    ————把xx文件添加到暂存区
git commit -m “xx”:   ————提交文件 -m后面的是注释
git status    ————查看仓库状态
git log    ————查看历史记录
git reset --hard HEAD^    ————往上回退一个版本
git reflog    ————查看历史记录的版本号id
git checkout -- xx    ————把xx文件在工作区的修改全部撤销
git rm xx    ————删除xx文件 之后要commit
git remote add origin https://github.com/xxxxx/a.git    ————关联一个远程库
git push -u(第一次要用-u,以后不用)origin master    ————把当前master分支推送到远程库
git clone https://github.com/xxxxx      ————从远程库中克隆
git checkout -b dev    ————创建dev分支 并切换到dev分支上
git branch    ————查看当前所有的分支
git checkout master    ————切换回master分支
git branch -d dev    ————删除dev分支
git branch xxx    ————创建分支xxx
git remote    ————查看远程库信息
git remote -v   ————查看远程库的详细信息
git push origin master   ————git会把master分支推送到远程库对应的分支上
git config (--global) user.name/email "name/email@xxx.com"    ———— 设置(全局)项目的用户名/密码
git pull    ———— 将远程库的更新拉取到本地来
git reset --hard xxxxxx(commit id)   ————回退到某个commit提交的版本
git push -f -u origin xx分支名   ————强制提交到xx分支上
git branch -a   ————可以查看当前所有分支(包括已经删除过的)
git branch -D <BranchName>    ———— 删除本地分支
git push origin --delete <BranchName>    ———— 删除远程分支
git remote show origin    ———— 可查看远程分支与本地分支的关系
git remote prune origin    ————根据上一步的提示, 可以删除之前已经删除过的分支的信息
git checkout -b BBB origin/BBB    ————从远程拉取BBB分支, 并和本地BBB分支建立连接
git merge dev   ————在当前分支合并dev分支

五、其他命令

不小心关联错了仓库,怎么办?
* 暴力解决:删除.git,重新本地仓库管理
* 优雅解决:git remote remove origin,在重新关联仓库
pull和fetch的区别?
* git pull origin master
	* 将远程仓库的master分支上代码版本复制/合并到本地master分支上
* git fetch origin master:dev
	* 新建了一个dev分支,将远程仓库的master分支上代码版本复制到dev分支上
	* 就一定不会产生冲突
	* git diff master dev对比两分支内容,观察会不会产生冲突
	* 如果会,先解决,在合并分支。如果不会,就直接合并分支

自用git命令

git config user.email 'xxx@qq.com'
git config user.name 'xxx'
git branch -D <BranchName>   ———— 删除本地分支
git push origin --delete <BranchName>   ———— 删除远程分支
git remote prune origin   ———— 根据上一步的提示, 可以删除之前已经删除过的分支和远程的关联信息
git merge dev  ————在当前分支合并dev分支
git reset --hard xxxxxx(commit id)  ————回退到某个commit提交的版本
git push -f -u origin xx分支名  ————强制提交到xx分支上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值