(原创)常用git命令

前言

git在开发中已经是很常用的工具了
但很多同学还是只会commit,pull,push这些简单的命令
今天来做一个搜集
把开发中一些实用的git命令汇集在这篇博客里
话不多说,立马开始

基本操作

git init

为你的项目创建一个git仓库
这样就会在你项目下面生成.git的隐藏文件
这样你的项目就可以进行git操作了
当然,前提是你安装了git环境
如果你的项目在执行git命令时出现这种报错:
fatal: not a git repository (or any of the parent directories): .git
就说明其实你没有git仓库
这样就可以通过这个命令创建一个本地仓库

git clone + url

拷贝一个 远程的Git 仓库到本地,让自己能够查看该项目,或者进行修改。
url就是远程仓库的地址啦

git remote add origin + 仓库的git地址

设置你当前本地项目的远程仓库,这样就可以push代码到远程仓库了

git remote show origin

查看当前仓库的git地址

git log

查看git的全部提交记录
也可以用下面这张方式:
git log -2
这种方式表示查看最近两条记录

git pull

获取当前分支下的更新代码,就是拉代码

git push --force

强制推送,一般用于远程的强制回滚,顺序如下:

  1. git reset --hard commitId //想要回到的 commitId
  2. git push --force // 强制推送,去到想要回到的commitId(提交节点),这个提交节点之后的所有提交都将被删除

git status

查看仓库当前的状态,显示有变更的文件。
git status 输出的命令很详细,但有些繁琐。
git status -s 以精简的方式显示文件状态。
不同的状态如下:
在这里插入图片描述
效果如图:
在这里插入图片描述

git add +文件名路径

添加需要提交的文件名(路径参考git status 打印出来的文件路径),可以有多个,比如:
git add
app/src/main/java/com/example/mydemo/A.java
app/src/main/java/com/example/mydemo/B.java
(注意要全路径名)

git add .

把本地仓库的所有修改的文件都添加进去

git commit -m + “提交注释”

提交文件,后面加上提交注释,提交前要先git add +文件名路径
不然是不能提交的

git push -u + 分支名

把本地commit的记录提交到远程分支上面
比如要提交到master分支,就这样写:
git push -u origin master

git reset + 提交编号

如果我们提交了一条记录
但是想撤回
可以先通过git log得到提交记录
可以通过这个命令回到上一次提交时的状态:
git reset ac69fb3b2bcc9efa87a677039e0dd62ee02f3357
这个字符串就是提交记录里的编号

查询和修改相关

git config user.name

查看用户名

git config user.password

查看密码

git config user.email

查看邮箱

git config --list

查看配置信息

git config --global user.name “新的用户名”

修改用户名

git config --global user.password “新的密码”

修改密码

git config --global user.email “xxxx@xxx.com(新的邮箱)”

修改邮箱

分支相关

git branch

获取所有分支名字
以及当前所在分支
另外还有 git branch -a 命令
加上了-a参数,可以查看远程分支,远程分支会用红色表示出来(开了颜色支持的前提下)

git branch + 分支名

创建一个新分支

git merge + 分支名

合并分支
把输入的分支名合并到当前分支
比如,当前分支为branchA
我们输入
git merge branchB
就会把branchB分支合并到当前的branchA分支

git branch -d + 分支名

删除这个分支
注意,如果这个分支没有被合并
会报错
如果还是想强行删除这个分支
用这个命令:
git branch -D + 分支名

git checkout + 分支名

切换到当前分支
例如:
git checkout master
就是切换到master分支

git reflog show + 分支名

查看这个分支是基于那个父分支创建的
比如:
git reflog show xiong_upmicnum
按下回车后,主要看Created from信息,如下:
在这里插入图片描述
就可以得知:xiong_upmicnum分支是基于develop分支创建的

git branch -m + 老分支名 + 新分支名

修改本地分支名字,把老分支名字改为新分支名字
当然如果要修改远程的,可以这么做:
1:先修改本地的分支名
2:删除远程的老分支
3:重新push当前修改名字之后的分支
当然,在Android Studio中,也可以不用命令,直接点击右下角的分支列表
然后对指定的分支左键单机,就可以完成上面三步操作了
下图是本地分支,远程的还有Delete选项
在这里插入图片描述

暂存相关

git stash

如果你想切个分支或者想pull最新代码,但是你本地代码有修改,而且这些代码又没有实现并很好完成一个功能或者业务逻辑而不想commit代码,所以,此时,你最希望有这样一个命令,那就是,先把代码存储到本地而不提交,然后可以让我去实现切换分支或者pull最新代码。git stash就可以实现这个功能
具体流程为:
git stash //把本地修改并且未提交的内容,存储到本地栈中的栈顶。
do some work //此时你可以去切换分支或者pull最新代码
git stash pop //此时你可以把你刚才stash到本地栈中的代码pop到本地

git stash pop

把你刚才stash到本地栈中的代码pop到本地

git stash list

查看你本地存储的暂存日志,如下图
在这里插入图片描述

git stash clear

清除所有stash暂存信息

git stash drop stash@{0}

删除指定的stash,大括号内的数字就是你暂存日志列表里的数字
比如你要删除栈顶的第一条
就是git stash drop stash@{0}
结果就由上图的列表变成了下图的列表:
在这里插入图片描述

git stash save “你的stash日志”

和git stash命令功能一样,只不过多加了日志
比如git stash save “新建一个stash”
这样列表里就是:
在这里插入图片描述

git stash pop stash@{1}

和git stash pop命令一样都是拉取暂存内容,只不过可以指定去拉去栈顶的第几个暂存内容
不可以可重复拉取暂存内容

git stash apply stash@{1}

和git stash pop命令一样都是拉取暂存内容,只不过可以指定去拉去栈顶的第几个暂存内容
可重复拉取暂存内容并恢复

git show stash@{0}

查看本地最后一个stash

git stash --help

获取stash帮助,会跳转到一个帮助页面

报错解决

使用问题:git stash pop stash@{0} 报错,如下

error: unknown switch `e'
usage: git stash apply [--index] [-q|--quiet] [<stash>]
 
    -q, --quiet           be quiet, only report errors
    --index               attempt to recreate the index

这种问题是因为VSCode中,花括号在 powershell 中被认为是代码块执行标识符,
若想正常使用,可用反引号 进行转义:stash@{0’},如下:

git stash pop stash@`{0`}

其他

1:当git打印日志,日志过多时不会一下子显示,而是要通过回车才能看到下一行
如果要退出这种状态,按下q键就可以重新进入输入命令状态
2:AS很多操作是可以通过命令的,当然能用命令实现也可以,看个人情况
3:默认一个电脑的所有项目都会用同一个用户名和邮箱,但如果是公司的电脑,我们希望用自己的用户名和邮箱,就需要特别设置,以前我们是这样修改配置的

## git config --global user.name "新的用户名"
修改用户名
## git config --global user.password “新的密码”
修改密码
## git config --global user.email “xxxx@xxx.com(新的邮箱)”
修改邮箱

如果你这样去修改,那么就是全局修改
如何针对单个项目去配置专属的用户名和邮箱呢?
其实很简单
在每个项目的根目录下都有一个.git 文件夹,该文件夹是隐藏状态,先将其显示,
然后打开里面的config文件,在末尾添加一条配置信息:

[user]
    name =  compay_yourname
    email = youremail@compay.cn

这样设置后,你在该项目下提交的信息即为你设置的信息。
唯一的缺点是他是只能配置该项目,如果有多个项目,需要分别配置下。

参考资料

git 命令 | 菜鸟教程

Git入门图文教程(1.5W字40图)🔥🔥–深入浅出、图文并茂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值