git : 常用命令合集

这篇具有很好参考价值的文章主要介绍了git : 常用命令合集。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、基本框架

git 基本组成框架:Workspace、Stage、Repository、Remote

  • Workspace :开发者工作区,当前写代码的目录

  • Stage :暂存区 / 缓存区

  • Repository :本地仓库,本地所有的提交都会保存在这里,git 会保存好每一个历史版本

  • Remote :远程仓库,服务器仓库(github,gitee...)

2、公钥秘钥

生成 SSH 公钥和私钥,公钥要复制配置到 git 服务器上,可通过终端或者 Git Bash Here 打开命令

// 查看 ssh 版本,同时判断 ssh 是否已经安装
ssh -V

// 生成 ssh 密钥
ssh-keygen -o

// 指定目录
cd ~/.ssh/
// 查看 ssh,id_rsa.pub 则为公钥,id_rsa 则为私钥,将公钥复制到 git 服务器
ls

// mac 用 cat 命令进行查看,.pub 后缀名为公钥
cat ~/.ssh/id_rsa.pub

3、git config

配置提交用户名和用户邮箱

git config --global user.name "A"
git config --global user.email "2@qq.com"

// 查看
git config -l

4、将文件添加到暂存区

// 将添加或修改的文件提交到暂存区
git add .

// 将监控已经被 add 进暂存区的文件,会将被修改的文件再次提交到暂存区
git add -u

// . 和 -u 的集合
git add -A

5、提交到本地

// 提交到本地仓库
git commit -m 'feat:初始化项目'

6、设置远程仓库地址

// 使用 SSH 链接
git remote add github.origin https://github.com/k/d.git

// 移除远程仓库,默认名称为 origin
git remote rm origin

// 重新设置远程仓库 url
git remote set-url origin git@github.com:k/b.git

7、推送到远程服务器

(首次推送要设置追踪)

// 设置本地分支追踪远程分支
git push --set-upstream origin main
  • ``git push -u origin main`

    -u参数:当远程仓库没有对应的 main 分支则自动创建一个分支,并进行本地分支与远程分支的关联。后续便可使用 git push 替代 git push origin main

  • git push默认推送到当前分支到远程仓库,若首次提交推送,可能会提示警告;

  • git push --set-upstream origin main

    设置本地分支对应的远程仓库分支,并进行推送关联。如果远程仓库中存在此分支,则还可以通过git branch --set-upstream-to=origin/main进行设置关联,关联后可直接使用git push进行推送。

关于推送:[推送连接](git push时如果遇到问题,来试试这几种方式 - 掘金git push时如果遇到问题,来试试这几种方式 - 掘金)

8、修改文件名忽略大小写

查看当前是否开启了忽略大小写的设置,true 则表明设置了忽略或默认开启了

git config core.ignorecase

// false: 设置不忽略
git config core.ignorecase false 

9、修改文件夹名字大小写

  1. 修改前先将 Test 文件夹备份并修改为 TestTemp <临时文件夹>,再执行命令:

    git rm Test
    // 再将备份文件夹名字修改为需要的文件夹
  2. 备份删除的文件,删除文件后再进行仓库提交,之后将文件复制回并修改文件大小写,再重新提交。

10、git fetch 和 git pull

区别:

  • git fetch 是将远程仓库的最新代码拉取到本地仓库(此时还没有合并到工作空间中),用户在检查了以后决定是否合并到工作空间的分子中。

  • git pull 是将远程仓库的最新代码拉取后直接合并到本地空间,即 git pull = git fetch + git merge ,这样可能会产生冲突,需要手动解决。

// 只拉取 origin 远程的 dev 分支
git fetch origin dev

// 拉取整个仓库的变更到本地仓库
git fetch

// 更多基本操作
//https://www.cnblogs.com/runnerjack/p/9342362.html

// 拉取并合并(跟 fetch 类似)
git pull // 全部

// 单独分支
git pull origin dev

11、设置多个仓库

同样一个本地仓库可以设置多个远程仓库,同步提交

// 设置 github 远程仓库
git remote add github.origin git@github.com:k/b.git
// 设置 Gitee 远程仓库
git remote add gitee.origin git@gitee.com:k/b.git

// 推送 github
git push github.origin
// 推送 gitee
git push gitee.origin

// 移除本地记录的远程仓库地址
git remote rm gitee.origin

12、克隆远程仓库

// 目前没指定分支,默认为 master
git clone https://github.com/aehyok/demo.git

// 指定分支名称
git clone -b master https://github.com/aehyok/demo.git

// 克隆指定远程仓库下的指定分支
git clone gitee.origin main

// 克隆指定远程仓库下指定分支指定文件或文件夹
# 开启稀疏检出
$ git config core.sparseCheckout true
# sparse-checkout文件里写入要拉取的文件或者文件夹 
$ echo 'Pravite' >> .git/info/sparse-checkout
# 同步
$ git pull origin master

13、查看提交

查看提交日志的各种命令

git log

// 单行输出
git log --oneline

// 知道每个提交关联的分支或者标签
git log --oneline --decorate

// 查看当时提交的备注信息(备注要规范)
git log -S "...."

// 更多查看地址
// https://www.cnblogs.com/lsgxeva/p/9485874.html

14、获取提交 ID

// 完整 commmit_id
git rev-parse HAED

// short commit id
git rev-parse --short HEAD

15、删除已 push 的记录

删除已经 push 到服务器的提交记录,到某个 commit_id

// 1、找到想退回的 commitid
git log
// 2、将代码进行退回
git reset --soft commit_id
// 3、推送到服务器
git push origin master --force

16、删除未 push 的记录

// 1、找到想退回的 commit_id
git log
// 2、代码退回,之后提交的代码将会消失
git reset --hard commit_id
// 3、完成撤销,停留在当前版本,之前的代码仍然存在,但本地提交记录不存在
git reset commit_id

17、分支上暂存临时代码

有时候我们写着某个需求,或者某个比较严重的 bug 或者重构代码,突然告诉你,有一个问题要处理一下,你又不想再单独的建分支了,此时可以使用 stash

// 将当前代码状态展示切换 WIP
git stash save '备注'

// 恢复:需要切换到之前的分支,然后再执行
// 应用最近一次 stash
git stsh apply
// 引用指定 stash,先 list
git stash apply stash@{0}
// 或者 pop`
// 若 stash 多次,可通过 list 命令列出所有的 stash
git stash list

// 如果都恢复完毕,可以使用 clear 进行清除
git stash clear

18、恢复提交

// 最近的一次
git reset --soft HEAD^
// 查看日志,已经 commit 但没有 push 的代码已经返回到本地更改中
git log

// 指定 commitid 的提交(最近一次的提交到指定的 commitid)所有更改
git reset --soft commitid

// 如果没有 push 到远程服务器,直接 push,如果已经 push,则会与本地存在差异
git push -f

// 直接重置到 commitid ,慎用
git reset --hard commitid

19、免密登录

将密钥拷贝到linux服务器,这样就可以做到免密登录文章来源地址https://www.toymoban.com/news/detail-410412.html

// 免密拷贝密钥
cat ~/.ssh/id_rsa.pub | ssh root@169.255.255.0 "cat - >> ~/.ssh/authroized_keys"

到了这里,关于git : 常用命令合集的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 的基本概念、使用方式及常用命令

      Git是一个分布式版本控制系统,常用于协同开发和版本管理。以下是Git的基本概念和使用方式以及一些常用命令:   用于存储源代码和版本历史记录的地方。可以是 本地仓库(Local Repository) 或 远程仓库(Remote Repository) 。   存放实际的源代码文件。   用于临时

    2024年01月20日
    浏览(53)
  • window常用命令合集

    首先打开命令行窗口 键盘win键+r   输入cmd回车 出现命令提示符窗口  1.命令:dir                浏览当前文件夹内容 格式         dir 要浏览的路径 参数:        dir /a        浏览所有内容,包括隐藏 dir /a:d #列出所有目录 dir /a:h #列出所有隐藏文件 2.命令:cd     

    2024年02月08日
    浏览(37)
  • jupyter常用的魔法命令合集

    行魔术命令(Line Magics): %run :运行指定的 Python 脚本。 %load :将外部脚本加载到单元格中。 %whos :列出当前命名空间中的变量和它们的信息。 %timeit :测量代码执行的时间。 %debug :进入交互式调试器。 %reset :重置命名空间中的所有变量和名称定义。 单元格魔术命令(

    2024年02月15日
    浏览(48)
  • Docker基础入门:Docker起源、组成、安装、及常用命令

    💖The Begin💖点点关注,收藏不迷路💖 Docker起源于2013年,由Docker公司(前身为dotCloud公司)创造和推广。它是一个开源的容器化平台,旨在简化应用程序的部署和管理。 在过去,应用程序的部署和运行环境往往存在着依赖关系和配置差异,这导致了许多问题,例如运行环境

    2024年02月10日
    浏览(37)
  • [linux]vncserver常用终端命令合集

    开启vnc服务:systemctl start vncserver@:1.service 关闭vnc服务:systemctl stop vncserver@:1.service 重启vnc服务:systemctl restart vncserver@:1.service 设置VNC密码: vncpasswd 开启VNC: vncserver :1 关闭VNC: vncserver -kill :1 查看vnc是否在进程:ps -ef | grep vnc 查看5901端口是否在进程:netstat -antulp | grep 5901 杀

    2024年04月26日
    浏览(34)
  • git 常用基本命令, reset 回退撤销commit,解决gitignore无效,忽略记录或未记录远程仓库的文件,删除远程仓库文件

    https://blog.csdn.net/a704397849/article/details/135220091 idea 中 rest 撤销commit过程如下: Git - Rest Head… 在To Commit中的HEAD后面加上^,点击Reset即可撤回最近一次的尚未push的commit Reset Type 有三种: Mixed(默认方式),保留本地源码,回退 commit 和 index 信息,最常用的方式 Soft 回退到某个版

    2024年02月02日
    浏览(65)
  • 运维人必会:Linux常用命令合集

    切换目录: 查看文件与目录的命令,list 的缩写: 文本查找: 拥有强大的查找功能: 文件复制: 用于移动文件: 删除文件或目录: 查看进程: 用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号: signal的常用参数如下: 用于向一个命令启动的进程发送一个信

    2024年01月23日
    浏览(55)
  • Windows OS CMD 常用工具 の 命令合集

      每次想要修改环境变量都要按部就班点开系统属性、高级系统设置、环境变量······。这种操作实在是太繁琐了,对于我一个懒人来讲实在是 忍无可忍 。如果可以使用 WIN+R 或 CMD 直接打开系统内的一些工具,是不是就可以节省很多时间;是不是就可以提升效率;是不

    2024年02月15日
    浏览(46)
  • 【网络工程师人手必备的常用网络命令合集,整理收藏!】

    在计算机网络中经常要对网络进行管理,测试,这时就要用到网络命令。今天就为大家整理了一些网络工程师必备的一些常用网络命令合集,建议收藏后观看哦! ping是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状

    2024年02月05日
    浏览(47)
  • linux--初学者的常用命令合集(频率比较高的)

      sudo su root        打开root权限 passwd root          修改root密码 ctrl shift +            字符变大 ctrl -                    字符变小 cd .                      返回本目录 cd ..                      返回上一级目录 cd   绝对路径        如:cd /home/kali/Desktop cd 下一级

    2024年03月09日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包