Git的一些基本命令

file:文件完整名称
$ mkdir 目录名称 :创建一个空目录

$ cd 目录名称 :进入目录中

$ pwd :用于显示当前目录路径

$ git init :把这个目录变成git可以管理的仓库,会提示仓库建好了,而且是一个空的仓库

$ git add file: 把管理的仓库(工作区)中的文件添加到暂存区,添加成功没有任何显示,这个命令可以添加多个文件 ,只需要用空格隔开就好

$ git commit -m " ":告诉git,把文件提交到仓库 -m:表示文件说明,只负责把暂存区的所有内容提交到当前的分支

$ git status :可以让我们时刻掌握仓库当前的状态.

$ git diff file:可以让我们了解文件作了哪些修改

$ git log :显示熊最近到最远的提交日志.也就是版本库的状态(输出commit id,作者,时间,文件说明),如果觉得信息太多,可以改为:
$ git log --pretty=online:输出commit id和文件说明,也就是提交历史,以便确定回退到哪个版本.

$ git reset -- hard HEAD^:版本恢复,HEAD(大写)表示当前版本,也就是最新提交的id,上个版本是HEAD^,上上个版本就是HEAD^^,然后上100个版本写HEAD~100

$ git reflog :记录你的每一次的命令,也就是命令历史,输出命令的内容,以便确定要回到未来的哪个版本.

$ cat file : 可以查看文件的内容

$ git diff HEAD -- file : 可以查看工作区和版本库里面最新版本的区别

$ git checkout -- file:把文件再工作区的修改全部撤销,两种情况:
1.文件修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
2.已经添加到暂存区后,后来又作了修改,现在,撤销修改就回到添加到暂存区后的状态.
这个操作会让文件回到最近一次git commit 或 git add时的状态

$ git reset HEAD file:当修改了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令:git reset HEAD file,就回到了add之前的状态,此时工作区中的文件内容还是你修改过后的,只不过是,你只是把它从版本库中的暂存区拉回来,并没有撤销对文件本身的修改,需要恢复到前一个版本,还需要执行一次命令:
$ git checkout -- file
如果已经提交到版本库中的暂存区,但是没有再进行修改了,直接执行命令:
$ git checkout -- file是不会起作用的,需要执行命令:
$ git reset HEAD file再执行命令:$ git checkout -- file

$ rm file :把文件管理器(工作区)中把没用的文件删了. 并且:&git commit -m" ",这种方式是纯命令删除掉版本库中的文件,但是,如果你只是手动删掉(或误删)了工作区的文件,你可以使用命令:$ git checkout -- file.便可恢复文件.但是如果你是执行了命令:$ re file,但是并没有执行命令:$git commit 那么想要恢复,你只能提交后,恢复文件到过去的最新版本了,而且会丢失最近一次提交后你修改的内容.


$ git remote add origin git@github.com:name/learngit.git
其中name:Github上的名称,learngit.git是GidHub上的存储库:链接到远程仓库GitHub
origin:默认远程库名称

$ git push -u origin master:加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

$ git push origin master :推送最新修改

$ git checkout -b dev:创建dev分支 (-b)相当于创建dev分支,并切换到该分支上,相当执行了两个命令:
$ git branch dev :创建一个名为dev分支$ git checkout dev :切换到dev分支上

$ git merge :命令用于合并指定分支到当前分支

$ git branch : 列出所有分支,当前分支会标一个*号

$ git branch -d dev:删除dev分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

$ git log --graph :命令可以看到分支合并图产品
git merge --no-ff -m "merge with no-ff" dev

$ git stash:掩盖并保存现场

$ git stash list : 查看工作现场

$ git stash pop : 恢复现场,同时把藏匿内容也删了

$ git branch -D <name> : 强行删除,比如未合并的分支

$ git tag <name> : 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

$ git tag -a <tagname> -m "blablabla..." : 可以指定标签信息;

$ git tag -s <tagname> -m "blablabla..." :可以用PGP签名标签;

$ git tag : 可以查看所有标签。

$ git push origin <tagname> : 可以推送一个本地标签;

$ git push origin --tags : 可以推送全部未推送过的本地标签;

$ git tag -d <tagname> : 可以删除一个本地标签;

$ git push origin :refs/tags/<tagname> : 可以删除一个远程标签。

$ git push origin <tagname> : 可以推送一个本地标签;


$ git push origin --tags : 可以推送全部未推送过的本地标签;

$ git tag -d <tagname> : 可以删除一个本地标签;

$ git push origin :refs/tags/<tagname> : 可以删除一个远程标签。

$ git remote -v :查看远程库信息

$ git remote rm origin :删除已关联的名为origin的远程库

$ git push origin master -f :强行让本地分支覆盖远程分支

$ git pull origin master --allow-unrelated-histories : 把运程分支上的提交合并到本地分支(新版本)旧版:$ git pull origin master

$ git config --global color.ui true : 让git在适当位置上显示颜色

$ git config --global alias.st status:配置别名,这个命令意思是把status起一个别名st,作用跟status一样
<think>嗯,用户想了解Git基本命令。好的,我需要先回忆一下Git的常用命令,然后组织成一个结构清晰的回答。首先,我应该从Git基本概念开始,比如版本控制系统的作用,然后再逐步介绍具体的命令。 首先,安装和配置应该是第一步。用户可能需要知道如何设置用户名和邮箱,这是初始化配置的重要部分。然后是初始化和克隆仓库,这两个是开始项目的基础。接下来,常见的操作比如添加文件、提交更改、查看状态和提交历史,这些都是日常使用中最频繁的命令。 然后,分支管理也很关键,因为分支是Git的核心功能之一。需要解释如何创建、切换、合并和删除分支,还有如何解决冲突。远程仓库的操作,比如添加远程仓库、推送和拉取代码,这部分对于团队协作很重要。 还有一些高级一点的命令,比如撤销更改、储藏修改、查看差异,这些虽然不常用,但在特定情况下非常有用。最后,标签管理可能也是用户需要了解的,特别是发布版本的时候。 需要注意用户是中文使用者,所以所有命令的解释要用中文,并且例子要清晰。同时,按照系统指令,行内数学表达式要用$...$,不过这里可能用不上数学公式,但如果有的话需要注意格式。独立公式需要用$$...$$,但Git命令里应该不会有,不过还是要确保LaTeX语法正确,比如如果有代码块的话,可能用反引号包裹。 用户可能是一个刚开始学习Git的开发者,或者是需要快速回顾基本命令的人。他们可能需要一个简明扼要的指南,包含最常用的命令和示例,方便随时查阅。需要确保回答结构清晰,分步骤或分模块,让用户容易理解。 另外,要检查有没有遗漏的常用命令,比如git pull其实是git fetch和git merge的组合,是否需要单独提出来说明。还有git stash的应用场景,比如临时切换分支时保存工作进度,这也需要解释清楚。 可能还需要提到.gitignore文件的作用,虽然不算命令,但相关命令如添加文件时需要注意忽略文件。不过可能属于进阶内容,如果用户问的是基本命令,可能暂时不需要深入。 最后,确保每个命令的例子正确,比如git commit -m "message"的正确写法,以及分支操作时的具体步骤。还有解决冲突后的提交流程,可能需要强调git add和git commit的步骤。 总结一下,回答的结构应该是: 1. Git简介 2. 安装配置 3. 仓库初始化克隆 4. 基本操作(添加、提交、状态、历史) 5. 分支管理 6. 远程仓库 7. 撤销恢复 8. 其他实用命令 9. 总结 这样分模块的话,用户看起来会比较清晰,每个部分都有对应的命令和例子。确保每个命令的解释简洁明了,避免冗长。同时,注意使用中文术语,比如“暂存区”、“工作区”等,可能需要简单解释这些概念,但用户可能已经有一定基础,所以不需要太深入。</think>### Git 基本命令介绍 Git 是一个分布式版本控制系统,用于跟踪文件变更并协作开发。以下是其核心命令和操作流程: --- #### 一、安装配置 1. **安装Git** - 根据系统下载对应版本([官网](https://git-scm.com/))。 2. **配置用户信息** ```bash git config --global user.name "你的用户名" git config --global user.email "你的邮箱" ``` --- #### 二、仓库初始化克隆 1. **初始化新仓库** ```bash git init # 将当前目录初始化为Git仓库 ``` 2. **克隆现有仓库** ```bash git clone <仓库URL> # 将远程仓库复制到本地 ``` --- #### 三、基本操作 1. **添加文件到暂存区** ```bash git add <文件名> # 添加指定文件 git add . # 添加所有修改的文件 ``` 2. **提交更改** ```bash git commit -m "提交说明" # 将暂存区的修改提交到本地仓库 ``` 3. **查看状态** ```bash git status # 显示工作区和暂存区的文件状态 ``` 4. **查看提交历史** ```bash git log # 显示提交记录(按时间倒序) ``` --- #### 四、分支管理 1. **创建/切换分支** ```bash git branch <分支名> # 创建新分支 git checkout <分支名> # 切换到指定分支 git switch <分支名> # 更直观的切换命令Git 2.23+) ``` 2. **合并分支** ```bash git merge <分支名> # 将指定分支合并到当前分支 ``` 3. **删除分支** ```bash git branch -d <分支名> # 删除本地分支 ``` 4. **解决冲突** - 手动编辑冲突文件 → 标记为已解决 → 重新提交。 --- #### 五、远程仓库操作 1. **关联远程仓库** ```bash git remote add origin <仓库URL> # 添加远程仓库(默认名origin) ``` 2. **推送代码到远程仓库** ```bash git push -u origin <分支名> # 首次推送需加`-u` git push # 后续推送可直接使用 ``` 3. **拉取远程更新** ```bash git pull # 拉取远程分支并自动合并(= git fetch + git merge) ``` --- #### 六、撤销恢复 1. **撤销工作区修改** ```bash git checkout -- <文件名> # 放弃指定文件的未暂存修改 ``` 2. **撤销暂存区修改** ```bash git reset HEAD <文件名> # 将文件移出暂存区(保留工作区修改) ``` 3. **回退到历史提交** ```bash git reset --hard <提交ID> # 强制回退到指定提交(慎用!) ``` --- #### 七、其他实用命令 1. **查看文件差异** ```bash git diff # 比较工作区暂存区的差异 ``` 2. **储藏修改** ```bash git stash # 临时保存未提交的修改 git stash pop # 恢复最近一次储藏的修改 ``` 3. **标签管理** ```bash git tag <标签名> # 创建轻量标签 git push origin --tags # 推送所有标签到远程 ``` --- #### 八、总结 以上命令覆盖了Git的日常使用场景: - **核心流程**:`add` → `commit` → `push` - **分支协作**:`branch` → `merge` → `push/pull` - **错误处理**:`checkout`、`reset`、`stash` 建议结合实践逐步掌握,遇到问题时可通过`git --help`或查阅文档解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值