Git 常用命令介绍
创始人
2024-11-14 17:07:50
0

详细指令

查询(status)

git status # 查询当前编辑环境的文修改情况 

添加(add)

git add [file1] [file2] ... # 添加一个或多个文件到暂存区 git add [dir] # 添加指定目录到暂存区 git add . # 添加当前根目录下的所有文件到暂存区 

撤销添加(restore)

git restore --staged  # 撤销指定文件的add 

提交(commit)

git commit # 将暂存区内容提交到本地仓库,bash会弹出vim的编辑框,用来输入附带信息,然后再输入:wq退出编辑器 git commit -m [message] # 将暂存区内容提交到本地仓库,并附带信息(用于解释本次提交的内容),message要用双引号括起来 git commit [file1] [file2] ... -m [message] # 将暂存区指定文件添加到本地仓库 git commit -a # 忽略 git add 步骤,直接将修改的文件(无论是否暂存)都提交到仓库  # -m:标记下一串字符是注释 # -a: 忽略 git add 步骤,直接将修改的文件提交到仓库 

撤销提交(reset)

git reset --soft HEAD~1 # 撤销上次提交,文件回滚到暂存区 git reset --hard HEAD~1 # 撤销上次提交,同时也把同期的 add 也撤销了,也就是恢复成改动前内容 # HEAD~x 表示撤回递归层数,1表示撤回上一次commit,2表示前两次都撤回 

分支(branch、checkout)

git branch # 查看所有分支名,并且正使用的分支前会带一个 * 号 git branch -vv # 查看当前分支名并显示远程上游分支(上游分支介绍在 推送 栏目的第三条指令) git branch <分支名> # 创建一个新的本地分支(还未commit过的话无法通过此方法创建新分支,需加上 -m 参数) git branch -m <分支名> # 创建一个新的本地分支作为主分支,并切换到此分支 git branch -d <分支名> # 删除本地分支	 # 当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。 git checkout <分支名> # 切换到本地分支 git checkout -b <分支名> # 切换到本地分支,如果分支不存在则创建 

远程仓库(remote)

git remote # 查看所有远程仓库 git remote add <远程主机名>  # 绑定远程仓库,命个别名,此后在本地操作的<远程主机名>都叫这个 # 例子:git remote add origin https:# gitee.com/Roland665/ElderlyCare_Guet.git git remote get-url xxx # 查看xxx仓库的远程地址 git remote remove xxx # 移除对xxx仓库的链接绑定 

推送(push)

# 如果本地分支名和远程分支名相同,则可以省略 :<远程分支名>,比如第二条指令开始 git push <远程主机名> <本地分支名>:<远程分支名> # 将本地的分支版本上传到远程并合并 git push --force <远程主机名> <分支名> # 强制推送本地版本到远程仓库 git push -u <远程主机名> <分支名> # 将本地的分支版本上传到远程并合并,并且将此分支作为‘上游分支’,即之后可以直接使用 git push 而不带任何参数来实现推送 

拉取(fetch)

git fetch是一个安全的操作,不会影响当前的工作环境,它只是更新本地的远程跟踪分支。用于从远程仓库获取最新的更改但不合并到当前分支,之后可以使用git loggit diff查看更新的详细信息

git fetch <远程主机名> # 将远程仓库的所有分支都更新到本地的远程跟踪分支 git fetch <远程主机名> <分支名> # 拉取指定远程分支 

查看日志(log)

git log用于查看提交 (commit) 记录

git log # 显示所有的提交记录,包含哈希值、提交者、提交日期、提交说明(注释) git log -1 # 显示最近的一次提交,-2表示最近的两次 git log <分支名A>..<分支名B> # 显示 分支名A 中不存在但在 分支名B 中的提交(如果要看的是远程分支,格式是<远程主机名/分支名>), 可以用HEAD表示当前分支(假如当前本地分支叫master,那么指令中HEAD等效master) # 常用参数 --pretty 参数允许你自定义输出的格式。例如,--pretty=oneline 会将每个提交显示为一行,只包含提交哈希值和提交说明。 --graph 参数可以显示一个 ASCII 图形化的提交历史,这样你可以更直观地看到分支和合并的情况。 --  参数可以搜索与指定文件相关的提交。例如,git log -- path/to/file.txt 会显示所有修改过 file.txt 的提交。 

比较差异(diff)

git diff用于比较不同提交、工作区与暂存区之间的差异

git diff # 比较工作区与暂存区的差异,即显示自上次 git add 以来,在工作目录中对文件所做的未暂存的更改。 git diff --cached # 比较暂存区与本地库中最近一次提交的内容之间的差异 git diff --staged # 同上 git diff <分支名> # 比较工作区与<分支名>的最新的一次提交的差异 git diff HEAD # 比较工作区与当前 HEAD 指向的提交(最新的一次提交)的差异(上一条指令的一种使用方式) git diff <分支名1>..<分支名2> # 比较<分支名1>与<分支名2>的最新的一次提交的差异 git diff HEAD..origin/master # 当前 HEAD 指向的提交(最新的一次提交)与远程跟踪分支的最新的一次提交的差异 

合并(merge)

git merge 用于合并指定分支的更改到当前分支,默认合并策略会将远程修改、删除的内容同步修改到本地,本地新增的内容保持新增状态。合并前需要先提交本地的更改。

git merge # 将远端跟踪分支的最新修改合并到本地 git merge <分支名> # 将指定 [分支名] 与当前分支合并 

同步(pull)

等效连续执行 fetch 和 merge

git pull # 将远端分支的最新修改同步到本地 

相关内容

热门资讯

玩家必看!(WepOke)we... 您好,WepOke这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款...
5分钟了解!Wepoke安卓版... 您好,乐乐上海麻将这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款...
一分钟了解!(three斗地主... 一分钟了解!(three斗地主)真的是有挂吗,悠游血战麻将确实真的有挂猫腻,详细教程(有挂解惑)-哔...
玩家爆料!WPK小程序原来真的... 您好,WPK小程序这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款...
7分钟测试!云扑克app辅助,... 7分钟测试!云扑克app辅助,红龙软件德州扑克,微扑克app原来一直都是有挂(2023已更新)-哔哩...
记者爆料!(wEpOke)we... 您好,wEpOke这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款...
九分钟了解!wpk安卓软件透明... 九分钟了解!wpk安卓软件透明挂,心悦填大坑是假的,详细教程(确实有挂)-哔哩哔哩;中的10万兆豆可...
玩家必备教程!微扑克模拟器原来... 玩家必备教程!微扑克模拟器原来是有挂,德扑之星能看到底牌,实用技巧(有挂消息)-哔哩哔哩;1、让任何...
三分钟代打!wpk德州辅助,微... 您好,微扑克这款游戏可以开挂的,确实是有挂的,需要了解加微【757446909】很多玩家在这款游戏中...
分享认知!(WPK自建房)微扑... 您好,WPK自建房这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这款...