Git常用命令

本文详细介绍了Git的基本操作,包括项目初始化、分支管理、.gitignore文件、版本控制、仓库协议切换、子模块使用以及Windows平台下的升级命令。涵盖了从初学者到进阶者所需的关键知识点。

git管理项目常用命令,包含初始化项目,分支操作,.gitignore文件说明,版本回滚,仓库协议,子模块使用等。大家快收藏吧!!

git升级

Windows平台下的Git升级命令

git update-git-for-windows

config 配置

git config --global user.name "Your Name"
git config --global user.email your@example.com
​
# 生成公钥私钥(cd ~/.ssh)
ssh-keygen -t rsa -C "your@example.com"
​
# 打开gitlab的找到User Settings下的SSH Keys,在Add an SSH key中,复制 id_rsa.pub中的内容到key里,在Title这里给这个key设置一个名字,点击Add key就可以了
​
# 此设置是 Git 命令 push 的默认模式为 simple,当我们执行 git push 没有指定分支时,自动使用当前分支,而不是报错。
git config --global push.default simple

初始化本地项目 提交 远程git仓库

# 进入项目内
cd /xx/project
​
# 初始化
git init
​
# 将项目所有文件保存到暂存区
git add -A
​
# 如下,和远程仓库建立连接(提前创建远程仓库-空仓库)
git remote add origin 空仓库的clone链接,http
git branch -M main
git commit -m 'xx'
git pull --rebase origin main
git push -uf origin main

基于master分支创建其他分支

# clone主分支代码
git clone 主分支链接
​
# 进入clone的项目内
​
# 切换master分支
git checkout master
​
# 拉取远程master的最新项目到本地master分支
git pull
​
# 创建新分支,并把当前分支内容复制到新分支中(yourdev是你的分支名)
git checkout -b yourdev
​
# 把新建的分支推动到远端(yourdev)
git push origin yourdev
​
# 建立远端分支(yourdev)和本地分支(yourdev)的关联
git branch --set-upstream-to=origin/yourdev
​
# 验证创建分支是否成功
git pull
# 出现Already up to date ,代表创建成功
​
# 其他验证方法
git branch -vv
# *yourdev   [origin/yourdev] upd 表示成功

git拉取远程分支并创建本地分支

# 方式1: 使用该方式会在本地新建分支x,并自动切换到该本地分支x
git checkout -b 本地分支名x origin/远程分支名x
​
# 方式2: 使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout
git fetch origin 远程分支名x:本地分支名x

修改远程分支名

# 重命名远程分支对应的本地分支
git branch -m oldName newName
​
# 删除远程分支
git push --delete origin oldName
​
# 上传新命名的本地分支
git push origin newName
​
# 把修改后的本地分支与远程分支关联
git branch --set-upstream-to origin/newName

删除远程分支

# 查看所有分支信息
git branch -a
​
# 当你处在要被删除的分支时,是无法删除该分支,可以checkout master
​
# 删除new_a远程分支
git push origin --delete new_a
​
# 确认new_a是否被删除
git branch -a
​
# 删除本地new_a分支
git branch -d new_a
​
# 确认new_a是否被删除
git branch -a

合并分支

# 场景:将dev的分支代码合并到master
​
# 提交dev分支代码至git
git push dev
​
# 切换分支至master
git checkout master
​
# 合并代码
git merge dev
​
# 提交合并结果
git push

查看历史版本号id

# 查看历史记录的版本号id
git reflog 

git如何从仓库中删除已经被跟踪的文件(.gitignore)

在我们开始实际项目中,总是会用到.gitignore文件,该文件表示在项目中的某些文件不需要使用git来管理,写入.gitignore中的文件名会自动被git所忽略。但是现实问题往往是这样:.gitignore文件一开始就不可能被考虑完善,可能项目开发到一半,突然发现某个文件需要被git忽略,所以我们再把该文件写入到.gitignore中。但是此时再去配置.gitignore已经没有用了,git还是会一直去版本控制你的文件。因为你要忽略的文件已经被git “盯上了”,git现在才不去管什么.gitignore呢?

为了应对这个问题,我们就要从git仓库中删除这个已经被跟踪的文件,具体方法如下: 首先把该文件名写入到.gitignore中,如何写.gitignore请参考GitHub - github/gitignore: A collection of useful .gitignore templates 如果你要忽略的仅仅是一个文件,请使用如下命令:

git rm --cached 文件名

如果你要忽略的是一个目录或文件夹,则需要加-r参数:

git rm --cached -r 目录

执行完以上步骤之后,再去执行正常的git status, git add, git commit命令即可。把刚才的操作提交到仓库中即可。

切换仓库协议

# 查看当前remote
git remote -v
​
# 切换到http:
git remote set-url origin https://github.com/username/repository.git
​
# 切换到ssh:
git remote set-url origin git@git.theroads.cn:saas-group/kemai-saas.git
​
# 删除项目 remote信息
git remote remove origin
​
# 以上的后面的链接都需要提花为自己的仓库地址

版本回滚

# 退回到上一个版本
git reset --hard HEAD^ 
# 上上一个版本
git reset --hard HEAD^^
# 退回到前5个版本 
git reset --hard HEAD~5
​
# 退回到指定版本 
git reset --hard 版本号

子模块的使用

# 1、克隆父项目
git clone https://github.com/maonx/vimwiki-assets.git
# 2、查看子模块
git submodule
# 以下 -- 仅在父项目拉取后,执行一次即可
# 3、初始化子模块
git submodule init
# 4、更新子模块
git submodule update
# 正常步骤
cd 子模块
git checkout master
git pull

<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史查看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 查看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 查看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 查看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 查看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 查看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 查看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bilibili_架构师九哥

欢迎您的观看,留点什么吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值