Git常用指令集合 (基本操作)

本文提供了Git版本控制系统的常用命令汇总,包括安装设置、版本库创建、文件添加、状态查看及版本回退等基本操作,适合新手快速查阅。
Git是一种非常优秀的免费开源分布式版本控制系统。本文将对常用的命令进行集中记录,以方便查阅。
需要注意的是,这里我只简要记录指令功能,对于新人学习来说还是推荐廖雪峰老师的教程,非常浅显易懂。 
本篇文章是关于Git的基本操作指令,接下来的文章会逐步总结Github远程仓库、分支管理与标签管理的各种相关操作指令。

1.安装完成后设置:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

其中- -global 这个参数表示这台机器上所有的Git仓库都会使用这个配置


2.创建版本库:

$ mkdir learngit
$ cd learngit
$ pwd

创建空目录,pwd命令用于显示当前目录。

$ git init

把目录变成仓库。

$ ls -ah

查看隐藏的.git目录。


3.添加文件到版本库:

$ git add readme.txt
$ git commit -m "wrote a readme file"

创建文件(例如:readme.txt)后,把文件添加到仓库,命令git add 可反复多次使用,添加多个文件。
-m后面输入的是本次提交的说明.commit可以一次提交很多文件。
每次修改,如果不add到暂存区,那就不会加入到commit中。


4.状态及修改查看:

$ git status

查看工作区状态。

$ git diff

查看修改内容。

$ git diff HEAD -- readme.txt

上一版commit提交之后再修改出新一版还未提交时,查看当前工作区和版本库里面最新版本的区别。


5.版本回退:

$ git log

查看提交历史,以便确定要回退到哪个版本。如果嫌输出信息太多,可以加上 - -pretty=oneline参数。
显示内容里commit后的数字是commit id(版本号)。从新版本退回旧版本时新版本号不会再显示,若要重回新版本,请参考下文的git reflog命令。

$ git reflog

查看命令历史,以便确定要回到未来的哪个版本。

$ git reset --hard commit_id

在各版本之间穿梭。用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^。要退回上一版本commit_id可以用HEAD^。

$ cat readme.txt

在Git控制台显示文本内容,适合小文本快速查看。

$ git checkout -- file

命令中的- -很重要,没有- -,就变成了“切换到另一个分支”的命令。
命令git checkout - - readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在撤销修改就回到和版本库一模一样的状态,即最近一次commit的版本;
一种是readme.txt已经add添加到暂存区后,又作了修改,现在撤销修改就回到添加到暂存区后的状态,即放弃文件添加到暂存区之后在工作区又做的修改,不是放弃暂存区文件。
若是已经add添加到暂存区后,想放弃暂存区的内容,请参考下文的git reset HEAD file。
总之,就是让这个文件回到最近一次git commit或git add时的状态。

$ git reset HEAD file

把暂存区的修改撤销掉(unstage),重新放回工作区。执行命令后暂存区空,工作区有修改,若再想将工作区的修改撤销,请参考上文git checkout - - file。
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。用HEAD表示最新的版本。

$ git rm readme.txt

删除readme.txt文件,需要再commit提交后才会修改版本库。若发现错删,但还未提交版本库,请使用git checkout回撤。

若文件修改后已经commit提交到了版本库,再想撤销修改请参考上文git reset - -hard commit_id。

### Git 命令列表及用法教程 #### 一、配置与初始化 Git 提供了一系列用于配置和初始化版本库的命令。以下是常用的几个: - **`git config`**: 配置全局或本地设置,例如用户名和邮箱地址。 ```bash git config --global user.name "Your Name" git config --global user.email "your_email@example.com" ``` - **`git init`**: 初始化一个新的 Git 版本库。 ```bash git init ``` #### 二、基本操作 这些命令涵盖了日常开发中的核心功能。 - **`git add`**: 将文件添加到暂存区。 ```bash git add filename.txt ``` 或者一次性添加所有更改过的文件: ```bash git add . ``` - **`git commit`**: 创建新的提交记录。 ```bash git commit -m "Commit message here" ``` - **`git status`**: 查看当前工作目录的状态以及哪些文件被修改过。 ```bash git status ``` #### 三、分支管理 Git 支持强大的分支机制来帮助开发者并行处理不同的特性或修复问题。 - **`git branch`**: 列出所有的分支或者创建新分支。 ```bash git branch # 显示现有分支 git branch new_branch_name # 新建分支 ``` - **`git checkout`**: 转换至另一个分支或将某个文件恢复到最近一次提交状态。 ```bash git checkout existing_branch_name git checkout -- file_to_restore.txt ``` - **`git merge`**: 合并指定分支的历史入当前分支。 ```bash git merge another_branch ``` #### 四、远程同步 为了团队合作,Git 还提供了丰富的远程仓库交互能力。 - **`git remote`**: 管理远程仓库链接。 ```bash git remote add origin https://github.com/username/repo.git ``` - **`git pull` & `git fetch`**: 获取最新的变更数据。 ```bash git pull origin master # 下载更新并尝试自动合并 git fetch origin # 只下载而不立即合并 ``` - **`git push`**: 推送本地改动到服务器上共享给他人。 ```bash git push -u origin master # 使用-u选项简化未来推送过程[^2] ``` #### 五、高级技巧——命令别名 通过定义自定义别名可以缩短常用命令长度从而提高效率。 - 设置简单的内部子命令替代方案: ```bash git config --global alias.co checkout git co somebranch # 实际运行的是 'git checkout' ``` - 执行外部脚本或复杂逻辑时需加前缀字符‘!’: ```bash git config --global alias.visual '!gitk' # 当输入 'git visual' 即启动图形界面工具查看历史树结构[^1]. ``` ```python print("以上为部分常见Git指令及其应用实例") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值