git的常用命令

git的使用

git安装地址

git.exe windows

git的使用

  • 查看帮助,所有的命令通用
git cmd --help //cmd是对应的命令,输入之后他会打开对应的网页
  • clone命令,从远程仓库中copy代码到本地,方式一般常用的有两种方法
    1.1. https
    1.2. ssh
// 例如
git clone git@github.com:liweijieok/android-open-project.git  //ssh
git clone https://github.com/liweijieok/android-open-project.git //https 
  • 本地基本配置,git config,配置用户名和邮箱,下面是配置全局的。就是整个git环境下的,还可以去配置一些快捷,比如commit命令可以配置为cm
// 查看配置
git config --list
// 配置用户名和邮箱
git config --global user.name "youname"
git config --global user.email "youemail"
// 配置命令别名,比如checkout可以简写为co
git config --gloabl alias.co checkout
//还可以配置其他的别名alias.xx xxx 其中xx 是别名 xxx是原来的操作名称
  • 本地创建git版本库
git init
  • 添加到git暂存区,就是可以把该文件列为git版本控制的范围
// 添加某一个文件到暂存区
git add <filename> 
// 添加所有的文件到暂存区
git add -A 
  • 提交修改纳入版本库
git commit -m"提交描述"
  • 切换分支
git checkout branchName
git checkout -b newBranch originBranch//新建分支,基于originbranch,然后切换过去,没有最好一个参数的时候则是默认从当前分支作为originbranch
  • 关联远程仓库
git remote add origin git@github.com:liweijie/xxx.git
//其中git@github.com:liweijie/xxx.git是远程仓库的地址,有些是是ssh,有些时候是https
git remote // 不带参数,列出已经存在的远程分支
git remote -v //列出详细的信息,每一个远程分支都会带有一个url
  • 生成ssh密匙
ssh-keygen -t rsa -C youemail
// 之后可以设置ssh的生成的文件名和密码,一般密码为空就行,之后会生成xxx.pub和xxx文件,前面是公钥,后面是私钥,公钥需要配置在git服务器上面
  • 分支管理
//查看本地所有分支
git brach
// 查看所有分支
git branch -a
// 查看远程分支
git bracnh -r
// 生成新分支
git branch branchName
// 删除本地分支
git branch -d branchName // 假如该分支没有被合并过会提示并没被合并过
git branch -D branchName //不会有同时
// 所以需要生成一个新的分支并且切换的话是
git branch newbranch
git checkout newbranch
  • 合并分支
//当前分支合并别的分支,直接合并
git merge otherName
  • 拉取远程分支
git pull <远程主机名> <远程分支名>:<本地分支名>
//比如
git pull origin master:master // 拉取远程主机origin的master与本地的master分支合并
// 假如是拉取远程主机的远程分支与当前分支合并,后面部分可以不写
git pull origin master
//等同于
git fetch origin
git merge origin/master
//在某一些场合,git回自动在本地与远程分支之间,建立一种追踪关系(tracking)。
//比如,在git clone的时候,所欲的本地分支默认与远程主机的同名分支建立追踪关系,也就是说,本地的master分支自动追踪origin/mater分支。
//如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名
git pull origin
//如果当前分支只有一个追踪分支,连远程主机名都可以省略
git pull
//你也可以手动的建立这一种追踪关系
git branch --set-upstream branchName origin/remoteBranch
  • 获取最新的远程版本库内容
git fetch <远程主机名>//一般为origin
//比如远程主机那里别人提交了新的分支,你本地需要获取,就可以
git fetch origin //把origin远程主机的所有分支的更新
//假如只是想取回特定分支的更新,可以指定分支名字
git fetch origin 
  • 推送本地更新到远程服务器
// 需要注意的是他跟git pull是相反的 git pull origin remoteBranch:localBranch
git push origin localBranch:remoteBranch 
//当推送分支和远程对应的分支存在追踪关系的时候,可以直接
git push origin localBranch //远程不存在对应的分支的时候回自动新建并且建立追踪关系
// 删除远程分支
git push origin  :remoteBranch //其中":"前面有一个空格不可以少,表示推送空白到远程,这样子就可以删除远程分支
// 如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略
git push origin
//假如当前分支与多个主机(一般是只有origin),可以使用-u知道默认主机
git push -u 远程主机名 localBranch:remoteBranch
//推送本地的所有分支到远程
git push --all origin
//推送的时候加上tag,下面是表示推送所有的tag,需要注意是否有权限
git push origin --tags
  • 打tag
git tag -a 标签号-m"标签描述"
// 比如
git tag -a V1.0 -m"1.0版本完成"
//查看tag
git tag
//或者
git tag -l
//删除标签
git tag -d 标签号
  • 合并分支
//合并别的分支到当前分支
git merge branchName 
//合并分支
git merge resultBranch feature 后者是被合并到前者那里
  • 查看状态
//查看还没有被列入版本库的文件和还没有被commit的文件
git status
  • 查看commit但是没有被push的文件
git log localBranch ^origin/remoteBranch  // 查看commit没有被push的详细
git cherry -v //查看commit没有push的版本号 
  • 保存状态
// 场景是你需要切换分支,但是当前分支的修改还不能提价
git stash//保存当前分支修改状态
// 修改完其他分支的东西回来,需要还原
git stash pop //恢复原来没有commit的修改
//列出stash
git stash list
  • 列出提交日志
//列出所有历史记录
git log
// 列出提交记录的前n条
git log -n
// 显示简要的增加行数统计,每次提交的文件变更,-n作用同上,可以省略
git log --stat -n
//跟上面一样,不过更加强大,更改的地方会显示出来
git log -p -n
//一行显示,只显示hash和提交说明
git log --pretty=online
// 图形化显示
git log --pretty=format:"格式化内容" --graph
//比如
git log --pretty=format:"%H %s" --graph -n //表示显示提交对象的完整hash和提交说明
//format可选有
%H  提交对象(commit)的完整哈希字串
%h  提交对象的简短哈希字串
%T  树对象(tree)的完整哈希字串
%t  树对象的简短哈希字串
%P  父对象(parent)的完整哈希字串
%p  父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s  提交说明
  • 再次修改gitignore文件并且生效
//场景是一些不需要被提价版本库的文件以及被提交了,这时候需要把他重新在版本库中去除
git rm -r --cached .
git add .
git commit -m"update .gitignore"
  • LInux的一些简单命令
//载入修改文件内容
vi <filename>
//一般退出,比如查看了log
j//向下
k//向上
i //插入修改
//退出保存:
Esc+":"+"wq"
//文件没有被改动
Esc+":"+"q"
//不保存推出
Esc+":"+"q!"
//强制推出:
Esc+":"+"!"//查看文件
cat <filename>
//进入某一个文件夹
cd <dirPath>
//新建文件
mkdir <dirname> <dirname2>
//删除文件
rm
//列出文件夹下的文件
ls
//列出路径
pwd
注意:命令都是小写
<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`避免合并提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值