git 常用命令

对于远程仓库的代码,我们要想本地开发然后提交代码,最基本的流程如下:

$ git clone git@.....   //克隆代码到本地,此时所在的分支是master

...//进入本地代码文件夹

$ git pull origin master  //拉取master上的代码,确保本地代码是最新的
$ git checkout -b dev-123  //新切一个开发分支,分支名:dev-123
$ git push origin dev-123  //把当前分支推到远程,这样别人就可以看见该分支,并统一在此分支上开发

...  //开发过程略

$ git status //查看当前本地代码库状态
$ git add .   //把修改的文件放入暂存区
$ git commit -a -m"备注信息"  //代码提交到版本库
$ git pull origin dev-123   //再拉取一边,确保最新
$ git push origin dev-123   //代码推到远程仓库

...//全部开发结束

$ git checkout master //切到master
$ git pull origin master
$ git merge dev-123 --no-f -m"备注信息"   //合并开发分支到master
$ git push origin master  //把合并后的master推到远程

//最顺利的流程结束

 当然,在实际开发中由于多人开发,难免会遇到代码冲突,如何解决呢?

第一种情况:pull代码时发生错误。
 $ git status //查看当前是哪些文件发生的冲突
 
 ..//解决冲突

 $ git add .  
 $ git rebase --continue
 ...

第二种情况: push发生冲突
 $ git status
 $ git add .
 $ git commit -a -m"备注"
 ...

总结:代码冲突时会有提示信息,按照提示信息进行操作即可,无需记住上面的流程。

其他git常见命令

ctrl + l  :清空编辑区

git diff readme.txt  //查看修改了什么

git log              //查看commit信息,可用于版本回退       

git reflog  //查看命令历史,用于到未来的那个版本

git reset --hard HEAD^   //回退到上一个版本
git reset --hard HEAD~5  //回退到上5个版本
git reset --hard 33562555  //到commit_id的版本
git reset HEAD readme.txt  //把暂存区的修改撤销掉,重新放到工作区,就是撤销add操作  
git reset HEAD .  全部撤销add操作

git checkout -- readme.txt  //把文件在工作区的修改全部撤销
git rm readme.txt     //从版本库删除一个文件 , 删除完要git commit

git remote add origin git@git....  //关联本地库和远程库       

git push -u origin master    //把本地库的所有内容推送到远程,由于是第一次推送,远程库是空的,所以要加上-u
        // 这样不但把本地推送到远程,还把本地master分支和远程master分支关联,以后再用就写
        //git push origin master
       
git clone git@.....把远程库克隆到本地

git checkout -b dev     //创建dev分支,并切换  相当于  git branch dev //创建    git checkout dev //切换
git branch 查看当前分支

git merge dev      //把dev分支的内容合并到master分支上
git branch -d dev  //删除dev分支

当出现bug 但是dev分支内容还不能提交时,把现场储存起来。
git stash  保存本分支现场
git stash pop   恢复现场并删除stash
git stash list  //查看保存现场的内容

git remote    //查看远程库的信息  git remote -v  更详细的信息 
      
git中,每一次提交都会生成一个commit
git revert会生成一个新的commit,将之前的某个commit的修改恢复过来
git reset会将HEAD移动到某个commit上,换种说法就是将某个commit变成最后一个commit


$ git pull <远程主机名> <远程分支名>:<本地分支名>
git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。

 git fetch:相当于是从远程获取最新版本到本地,不会自动merge
 git fetch origin master   从远程origin的master分支下载最新版本到origin/master

 git fentch <远程主机名>  //将某个远程主机名的更新全部取回到本地
 git fentch <远程主机名> <分支名>
 所取回的更新在本地上用“远程主机名/分支名”的形式读取
 git branch -r  //查看远程分支
 git branch -a  //查看所有分支
取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。
git checkout -b newBrach origin/master   //表示,在origin/master的基础上,创建一个新分支。

撤销修改:
  git checkout  application/views/red_theme/yirongfu/header.php
  git checkout .  本地所有修改的没有提交的都撤销

撤销一次merge  git merge --abort

<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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值