git 集

 Git是一个强大的版本控制系统,提供了一系列命令来帮助开发者管理代码的版本。以下是一些常用的Git命令,它们的用途、含义以及使用示例:

### 基础命令 ###

- **`git init`**: 初始化一个新的Git仓库。
  - 用途:在当前目录下创建一个新的Git仓库。
  - 示例:`git init`

- **`git clone <repo>`**: 克隆一个仓库到本地。
  - 用途:复制一个远程仓库到本地。
  - 示例:`git clone https://github.com/username/repository.git`

- **`git add <file>`**: 将文件添加到暂存区。
  - 用途:跟踪文件或更改。
  - 示例:`git add README.md`

- **`git commit -m "<message>"`**: 提交暂存区的内容到仓库。
  - 用途:保存你的更改到本地仓库。
  - 示例:`git commit -m "Initial commit"`

- **`git status`**: 查看仓库当前的状态。
  - 用途:显示有变更的文件、当前分支等信息。
  - 示例:`git status`

- **`git log`**: 查看提交历史。
  - 用途:查看历史提交记录。
  - 示例:`git log`

### 分支与合并 ###

- **`git branch`**: 列出所有本地分支。
  - 用途:查看、创建或删除分支。
  - 示例:`git branch`(查看分支) / `git branch new-feature`(创建分支)

- **`git checkout <branch_name>`**: 切换到指定分支。
  - 用途:切换当前工作分支。
  - 示例:`git checkout new-feature`

- **`git merge <branch>`**: 将指定分支合并到当前分支。
  - 用途:合并分支。
  - 示例:`git merge new-feature`

### 远程操作 ###

- **`git remote add <name> <url>`**: 添加一个新的远程仓库。
  - 用途:连接到一个远程仓库。
  - 示例:`git remote add origin https://github.com/username/repository.git`

- **`git fetch <remote>`**: 从远程仓库获取代码和历史。
  - 用途:下载远程仓库的最新更改,但不合并。
  - 示例:`git fetch origin`

- **`git pull <remote> <branch>`**: 从远程仓库拉取代码并自动合并到当前分支。
  - 用途:更新本地仓库到最新提交。
  - 示例:`git pull origin master`

- **`git push <remote> <branch>`**: 将本地分支的更新推送到远程仓库。
  - 用途:上传本地提交到远程仓库。
  - 示例:`git push origin master`

### 撤销操作 ###

- **`git checkout -- <file>`**: 撤销对文件的修改。
  - 用途:丢弃工作目录中的更改。
  - 示例:`git checkout -- README.md`

- **`git reset --hard <commit>`**: 重置当前分支的HEAD到指定提交,同时丢弃之后的所有更改。
  - 用途:撤销所有更改,回到某个特定的版本。
  - 示例:`git reset --hard 0d1d7fc32`

- **`git revert <commit>`**: 生成一个新的提交,这个提交是用来撤销指定提交所做的任何更改。
  - 用途:撤销某次提交的更改,但保留历史。
  - 示例:`git revert 0d1d7fc32`

这些命令只是Git命令集的一部分,Git提供了更多的命令和选项来满足不同的版本控制需求。为了深入了解每个命令的具体用法和选项,建议查阅Git官方文档或使用`git help <command>`命令获取帮助。

重点概括

`git stash`命令用于临时保存工作目录和暂存区的更改,让你可以在一个干净的工作状态下切换分支或执行其他Git操作。以下是`git stash`相关的一些常用命令及其用途:

### 基本使用 ###

- **`git stash` 或 `git stash save`**: 保存当前工作目录和暂存区的更改。默认情况下,未跟踪的文件不会被保存。
  - 示例:`git stash` 或 `git stash save "Work in progress"`

### 查看和应用储藏 ###

- **`git stash list`**: 列出所有的stash项。
  - 示例:`git stash list`

- **`git stash apply`**: 应用最近的stash项。默认情况下,这不会从stash列表中删除该项。
  - 示例:`git stash apply` 或 `git stash apply stash@{0}`(应用指定的stash项)

- **`git stash pop`**: 应用最近的stash项,并从stash列表中删除它。
  - 示例:`git stash pop`

### 更多操作 ###

- **`git stash drop stash@{<stash_number>}`**: 删除指定的stash项。
  - 示例:`git stash drop stash@{0}`

- **`git stash clear`**: 清除所有stash项。
  - 示例:`git stash clear`

- **`git stash branch <branch_name>`**: 创建一个新分支,检出stash项时的提交,并应用指定的stash项。这对于stash项不能直接应用到当前分支的情况很有用。
  - 示例:`git stash branch new-branch-name stash@{0}`

- **`git stash show`**: 显示最近的stash项的更改。默认情况下,它只显示简要的差异统计信息。
  - 示例:`git stash show` 或 `git stash show -p`(显示完整的差异)

- **`git stash push`**: 保存当前工作目录和暂存区的更改,允许提供消息和选项,例如包括未跟踪的文件。
  - 示例:`git stash push -m "Feature progress"` 或 `git stash push -u`(包括未跟踪的文件)

### 包含未跟踪的文件 ###

- **`git stash -u` 或 `git stash --include-untracked`**: 保存当前工作目录、暂存区的更改,以及未跟踪的文件。
  - 示例:`git stash -u`

`git stash`命令是一个非常有用的工具,可以帮助你在需要切换任务时临时保存你的工作进度。使用`git stash`时,建议定期查看和清理你的stash列表,以避免积累过多的stash项。

合并冲突解决指令

代码拉取之后,进行修改,再次提交之后,发现存在冲突(他人已提交过)

可在发现冲突之后。

执行 git stash 将所有未提交的修改(工作区和暂存区)保存至堆栈中。

其次执行git pull origin master(更具自己实际远程分支名称),将他人已提交代码进行拉取到本地。

执行 git stash apply (将自己所有未提交更改,进行恢复到工作区)

其次在执行 git push origin master 则可解决冲突。

git命令如何clone指定仓库分支


git clone -b <branch_name> --single-branch <repository_url>

- `<branch_name>`: 你想要克隆的分支名称。
- `<repository_url>`: 仓库的URL地址。

例如,如果你想要克隆Git仓库中的`feature-branch`分支,你可以这样做:

git clone -b feature-branch --single-branch https://github.com/username/repository.git

这个命令会克隆指定的`feature-branch`分支,并且只克隆这个分支的内容。

//关于single-branch:
`--single-branch`选项的含义是在克隆Git仓库时,只克隆指定的单个分支,而不是仓库中的所有分支。这样做可以减少克隆操作的数据量,特别是对于包含大量分支和历史记录的仓库,使用这个选项可以加快克隆过程并节省磁盘空间。

默认情况下,`git clone`会克隆仓库的所有分支和标签,但如果你只对仓库中的某个特定分支感兴趣,使用`--single-branch`选项可以只克隆你需要的那个分支。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值