Git常用命令

Git全攻略:版本控制与团队协作必备技能

提交项目

1.查看修改的文件

git status

2.将修改的文件添加到暂存区

// 添加一个文件
git add file
// 添加多个文件
git add file1 file2
// 添加所有修改文件
git add .
git add --all

3.将缓冲区的文件提交到本地库中

git commit –m "提交说明"

4.将项目提交到远程库

// 如果是第一次提交,提交到master
git push –u(第一次要用-u 以后不需要) origin master
// 如果当前分支没有和远程master分支关联
git push origin master
// 当前分支和远程分支关联,直接用下面这个命令就可以
git push

克隆项目

  1. 从远程克隆指定分支项目
git clone -b dev <项目地址>

表示克隆远程 dev分支

切换分支

  1. 查看远程所有的分支
git branch -a

使用这个命令可以看到本地分支和远程所有的分支。

  1. 查看当前的分支
git branch -v
  1. 新建分支并切换到远程分支
git checkout -b 本地分支名 origin/远程分支名
// 例如:
git checkout -b dev origin/release-1.1.1

该命令可以将远程git仓库里的指定分支拉取到本地,并在本地新建了一个dev分支,并和指定的远程分支release-1.1.1关联起来。

  1. 查看本地分支及追踪的分支
git branch -vv

如果本地分支和远程分支没有关联,推送代码会报错

  1. 将本地已有的分支(已经存在) 和 远程分支关联
git branch --set-upstream-to=origin/release-1.1.1(远程分支名) dev(本地分支名)
  1. 将本地分支推送到远程分支
git push <远程主机名> <本地分支名>:<远程分支名>
// 例如:
git push -u origin dev:release-1.1.1

上述命令表示将本地dev分支推送到远程release-1.1.1分支。

7.放弃本地修改,强行覆盖远程分支的代码

开发时,对于本地的项目中修改不做保存操作(或代码改崩),可以用到Git pull的强制覆盖,具体代码如下:
git fetch --all
git reset --hard origin/master
git pull //可以省略

Tag标签

  1. 查询当前分支的所有 Tag
git tag
  1. 给当前分支打标签(附注标签)
git tag -a v1.0 -m "my version 1.0"
  1. 查看Tag的详细信息
git show tagName
  1. 将tag同步到远程服务器
git push origin <tagName>
  1. 删除 Tag
// 本地删除
git tag -d v1.0 

// 远端删除
git push origin :refs/tags/<tagName>
// 例如:
git push origin :refs/tags/v1.1
  1. 通过指定hash所在的tag
git tag --points-at 8c717b4a339ac6c734d2c4d331f41517e4fa6936

这样是显示指定hash所在的tag。 如果指定的hash有tag,则会显示tag名称,否则不会显示任何字符。

$ git tag --points-at 63320de
1.0.3.13.stable
release-1.0.3.13
short-hash查: 63320de
  1. tag 版本&说明
git tag -l -n

1."tag" 部分

    tag 代表的是标签动作,可以带参数 ,也可以不带参数,

    带上不同的参数可以实现标签的 新建/删除/查询/验证 等功能.

2."-l" 部分

    -l 注意是字母"L",以列表形式列出所有tag的版本号.

3."-n" 部分

    -n 显示出每个版本号对应的附加说明.

设置作者信息

git提交代码时,可以使用下面的命令设置作者信息:

git config --global user.name "aiun"

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字,只要去掉 --global 选项重新配置即可。

切换分支

将dev分支合并到master分支,操作如下:
1、首先切换到master分支上(往哪个分支合并就切换到哪个分支)

git checkout master

2、如果是多人开发的话 需要把远程master上的代码pull下来

git pull origin master

3、然后我们把dev分支的代码合并到master上

git merge dev

4.合并后可能会有冲突,解决完冲突,重新 添加、提交,然后 push 到远程

git add <fileName>
git commit -m "info"
git push origin master

统计代码量

统计 2022-12-01 到 2022-12-31 时间的代码修改量,author 是提交作者

git log --author="aiun" --since=2022-12-01 --until=2022-12-31 --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -
<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`避免合并提交
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值