Git 常用命令

git,常用命令 · 浏览次数 : 55

小编点评

**标签** * git tag * git show * git reset * git remote add * git clone * git push * git pull * gitlab * gitlab.rb **远程仓库操作** * git fetch * git merge * git config * gitlab * gitlabctl restart **其他** * ~/.ssh/id_rsa.pub * /etc/gitlab/gitlab.rb * crontab **其他命令** * gitlab tail * ll * gitlab backup * gitlab_rails * gitlabctl

正文

博客地址:https://www.cnblogs.com/zylyehuo/

虚拟机基本配置

git 基本指令

# 在 centos7 环境下查看系统版本
cat /etc/redhat-release

# (1)安装 git
yum install -y git
# windows安装地址:https://git-scm.com/download/win

# (2)查看 git 版本
git --version

# (3)查看配置选项
git config

# (4)配置 git 全局用户信息
git config --global user.name <用户名>
git config --global user.email <用户邮箱>

# (5)查看是否配置成功
# 方式一
ll .gitconfig
cat .gitconfig
# 方式二
git config --list

# (6)git 仓库初始化(可对空文件夹/仓库进行初始化)
git init

# (7)查看仓库状态
git status

# (8)将工作目录的指定文件上传到暂存区域
git add <文件名>

# (9)将工作目录的所有文件上传到暂存区域
git add .

# (10)将暂存区域的指定文件上传到工作目录
git rm --cached <文件名>

# (11)将工作目录的指定文件删除
#  结合命令(9)可实现将指定文件从暂存区域和工作目录同时删除
rm -f <文件名>

# (12)将指定文件从暂存区域和工作目录同时删除
git rm -f <文件名>

# (13)将文件从暂存区域上传至本地仓库
#  此时相当于将暂存区域中的文件同时在工作目录、暂存区域和本地仓库中保存了一个副本
#  出现 “nothing to commit, working directory clean” 表示工作目录、暂存区域和本地仓库三个区域的内容一致
git commit -m "引号中添加本次提交的描述信息"

# (14)将指定文件从暂存区域和工作目录同时进行重命名
git mv <原文件名> <新文件名>
git commit -m "rename <原文件名> to <新文件名>"

# (15)查看文件具体改动信息(比较工作目录和暂存区域中文件的差异)
git diff <文件名>

# (16)查看文件具体改动信息(比较暂存区域和本地仓库中文件的差异)
git diff --cached <文件名>

# (17)查看 “git commit” 历史记录(回滚后的记录不显示,需要使用命令(25))
git log

# (18)查看 “git commit” 历史记录(简洁版)
git log --oneline

# (19)查看 “git commit” 历史记录(简洁版 + 分支信息)
git log --oneline --decorate

# (20)指定查看多少条 “git commit” 历史记录
git log -<要显示的数量>
# e.g.  git log -1 --oneline

# (21)查看 “git commit” 历史记录(完整版)
git log -p

# (22)将工作目录已管理的某个版本的指定文件覆盖工作目录未管理的文件(修改过的文件)(回滚操作 -- 撤销修改)
git checkout -- <文件名>

# (23)将本地仓库的文件覆盖暂存区域的文件,再结合命令(22)(回滚操作)
git reset HEAD <文件名>

# (24)回滚至指定的 commit 版本
git reset --hard <commit ID值>  # 本地仓库回滚至工作目录的已管理的某个版本
git reset --soft <commit ID值>  # 本地仓库回滚至暂存区域的某个版本
git reset --mix <commit ID值>  # 本地仓库回滚至工作目录的未管理的某个版本

# (25)查看本地仓库中所有执行过 commit 的历史记录
git reflog

# (26)创建分支
git branch <分支名>

# (27)查看分支
git branch

# (28)切换分支
git checkout <分支名>

# (29)合并分支(要先切换到要合并到的目标分支下)
git merge <要被合并的分支> 

# (30)删除分支
git branch -d <分支名>

# (31)对当前 commit 打上标签
git tag -a <版本名,e.g.  v1.0>

# (32)对指定 commit 打上标签
git tag -a <标签号,e.g.  v1.0> <指定的 commit ID>

# (33)列出所有标签
git tag

# (34)查看具体标签的具体信息
git show <要查看的标签号>

# (35)根据标签号切换 commit 版本
git reset --hard <标签号>

# (36)删除标签
git tag -d <标签号>

git 配置 github(其他 gitee 等远程仓库操作类似)

# (37)添加 github 远程仓库
git remote add origin <ssh地址>

# (38)查看远程仓库
git remote

# (39)生成 ssh 密钥
ssh-keygen -t rsa   (加三次回车)

# (40)查看是否生成 ssh 密钥
ll /root/.ssh/

# (41)输出并复制 ssh 公钥至 github 中
cat /root/.ssh/id_rsa.pub

# (42)复制 ssh 公钥至 github 后,将本地仓库与远程仓库进行连接
git push -u origin master

# (43)通过 ssh-clone 将 github 仓库代码下载到本地(需要将该电脑先与目标 github 账户进行 ssh 认证)
cd /opt/
git clone <ssh 下载链接>(内部已实现 git remote add origin <ssh地址> )

# (44)将修改同步至 github 远程仓库
git add <修改文件>
git commit -m "描述修改内容"
git push -u <仓库名> <分支名>

# (45)将 github 远程仓库拉到本地,并将修改后的分支进行合并
git pull <仓库名> <分支名>
# 等价于依次执行以下两条命令
# git fetch
# git merge <仓库名>/<分支名>

git 配置 gitlab

# (46)centos7 安装 gitlab(建议 10.2.2 版本)
yum install -y curl policycoreutils-python openssh-server
cd /usr/local/src/
rz  (使用 XShell ssh 软件,使用 rz 命令选择 RPM 安装包)
rpm -ivh gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm  (安装)
vim /etc/gitlab/gitlab.rb  (配置)(修改为 external_url 'http://10.0.0.11')
# ll /etc/gitlab/gitlab.rb  (配置文件路径)
gitlab-ctl reconfigure  (更新配置)(第一次时间会比较久)
gitlab-ctl restart  (配置完成后将所有服务重新启动)
# gitlab-ctl restart <服务名>  (将指定服务重新启动)
# gitlab-ctl start 和 gitlab-ctl stop 命令参考 restart 命令
gitlab-ctl status  (查看服务启动状态)
# 检查完成后,在浏览器中输入 10.0.0.11
# 默认账户是 root,第一次访问需要修改密码,至少八位
# gitlab tail  (查看 gitlab 所有服务的日志)
# ll /var/log/gitlab/  (日志存放路径)
# ll /var/opt/gitlab/  (数据存放目录)
# ll /var/opt/gitlab/git-data/  (仓库存放目录)
# ll /var/opt/gitlab/backups/  (默认备份数据存放路径)
# ll /opt/gitlab/  (安装完 gitlab 后程序代码存放的路径)

# (47)配置 gitlab 公钥
# ll ~/.ssh/  (查看是否已存在公钥,存在的话直接复制即可)
cat .ssh/id_rsa.pub  (将输出的公钥复制,配置到 gitlab 上)

# (48)将本地仓库与远程仓库 gitlab 进行连接
cd <本地仓库>  (e.g.  cd git_test)
git remote add <仓库名> <gitlab ssh 地址>
# git remote  (查看远程仓库是否添加成功)

# (49)将本地仓库推到远程仓库 gitlab 上
git push -u <仓库名> <分支名>  (git push -u gitlab master)(第一次推送需要输入 yes)

# (50)将远程仓库的文件下载至另一台电脑本地仓库
ssh-keygen -t rsa
ll ~/.ssh/
cat ~/.ssh/id_rsa.pub  (将输出的公钥复制,配置到 gitlab 上)
git clone <gitlab ssh 地址>  (前提要安装git:yum -y install git)
git remote  (执行 git clone 命令后默认会自动添加一个远程仓库 origin)
git config --global user.name <用户名>
git config --global user.email <用户邮箱>
# 测试是否与远程仓库 gitlab 连接成功
git branch dev  (创建 dev 新分支)
git checkout dev  (切换分支)
touch dev  (创建文件)
git add .
git commit -m "commit dev on dev branch"
git push -u <仓库名> <分支名>  (推送分支)

# (51)gitlab 备份管理
# 配置文件最后加入
vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_path'] = '/data/backup/gitlab'  # 备份保存路径
gitlab_rails['backup_keep_time'] = 604800  # 备份保留的时间(以秒为单位,默认为七天),
# 更新配置文件
gitlab-ctl reconfigure
# 如果自定义备份目录需要赋予 git 权限
cd <本地仓库>  (cd git_test)
mkdir /data/backup/gitlab
chown -R git.git /data/backup/gitlab
/usr/bin/gitlab-rake gitlab:backup:create  # 手动执行备份
ll /data/backup/gitlab  # 查看是否备份成功
# 若要设置为定时备份任务,在 Crontab 中加入
# 为了安全起见,需要写脚本检测是否执行定时备份任务
# 0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

# (52)利用备份数据恢复 gitlab 数据
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 升级 gitlab 版本(一般不建议升级)
# gitlab-ctl stop nginx
# rpm -uvh gitlab-ce-<版本号>.x86_64.rpm
# gitlab-ctl reconfigure  # 更新配置文件
gitlab-ctl status  # 确认服务是否停止
gitlab-rake gitlab:backup:restore BACKUP=<备份数据中只带数字部分的名称>
# gitlab-rake gitlab:backup:restore BACKUP=1693310383_2023_08_29_10.2.2
# 数据恢复中输入两次 yes
gitlab-ctl restart
gitlab-ctl status  # 确认服务是否全部重新启动

与Git 常用命令相似的内容:

Git 常用命令

博客地址:https://www.cnblogs.com/zylyehuo/ 虚拟机基本配置 git 基本指令 # 在 centos7 环境下查看系统版本 cat /etc/redhat-release # (1)安装 git yum install -y git # windows安装地址:htt

Git代码提交规范

Git是常用的版本控制工具,本文描述使用等工具实现Git代码提交规范

通过实战操作学git

虽然说 ”好记性不如烂笔头”,但是学习不看等于没学,学习不用等于不会,所以说”实战才是检验真理的唯一标准“,通过实战则会学到很多东西。 因为陈** 太懒,并且不喜欢查百度,老是犯同样的问题,于是我通过完整的操作git流程和一些实战中的场景,将常用git流程和命令整理了下来,这样也方便我女盆友带入学习

【规范】Git分支管理,看看我司是咋整的

制定Git分支管理规范旨在加速团队协作,确保代码质量和主分支稳定性,支持敏捷开发流程。主要涉及分支包括:主分支(master/main)确保生产环境稳定;开发分支(develop)用于集成日常开发成果;特性分支(feature)支持单独功能开发;修复分支(hotfix)快速修复线上问题。规范流程涵盖...

Git分支管理

前言 从22年10月到24年1月,一直忙于项目建设,终于顺利投产,截止现在,项目需求、项目缺陷持续推进,越发感觉到代码分支管理的重要性,从项目投产最初,一直试图通过查询各种资料,想找到一种合适的策略进行分支管理,奈何可能是资料过于繁杂未能发现有实际落地价值的资料,通过诸多资料,仅知道了有git工作流

保姆教程系列:Git 实用命令详解

!!!是的没错,胖友们,保姆教程系列又更新了!!! @目录前言1.将本地项目推送到远程仓库2. Idea Git回退到某个历史版本3. 修改项目关联远程地址方法4. Git 修改分支的名称5. Git 删除分支6. master分支代码复制到新的分支7. Git迁移项目到其他代码仓库,且保留分支与提

Git——分支管理(2)

Git——分支管理(2) 提示:图床在国外且动图比较多的情况下,需要时间加载。 目录: 目录Git——分支管理(2)提示:图床在国外且动图比较多的情况下,需要时间加载。目录:Git基础Git的分支与HEADGit的存储机制Git的分支指针Git的远程仓库Git的远程分支管理远程分支和本地仓库的冲突处

Git 版本控制:构建高效协作和开发流程的最佳实践

版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。

面试官:你了解git cherry-pick吗?

事情要从一次不规范的代码开发开始说起 背景故事 时间 2024年某个风平浪静的周五晚上 地点 中国,北京,西二旗,某互联网大厂会议室 人物 小杰,小A,小B,老K 对话 老K:昨天提交的代码被测试打回来了!为什么小B没开发完的内容也一起提交上去了? 小B:啊?我不清楚啊,我在开发分支B开发完一部分就

[转帖]rsbeat对redis慢日志入库到ES

git地址: https://github.com/Yourdream/rsbeat gitg地址: 改进支持sentinel https://github.com/154650362/rsbeat 1、安装 mkdir rsbeat cd rsbeat curl -L https://ghprox