Git安装与常用命令和分支操作

本文详细介绍了Git的下载安装、基本配置、常用命令、分支操作、远程仓库管理,包括设置别名、解决乱码问题、版本回退、合并冲突、SSH公钥配置等,帮助读者全面掌握Git的使用。

推荐教程:

黑马程序员Git全套教程,完整的git项目管理工具教程,一套精通git_哔哩哔哩_bilibili

Git零基础入门到实战详解_哔哩哔哩_bilibili

1.Git环境配置

会用到的一些基本命令

  • ls/ll 查看当前目录
  • cat 查看当期文件
  • touch 创建文件
  • vi编辑器

1.1下载与安装

下载地址:Git - Downloads

Git GUI:图形化工具

Git Bash:命令行工具

安装好git首先要设置用户名和邮箱地址 因为每次使用git都会使用到用户名和邮箱

1.2基本配置

设置用户名和邮箱

用户名:git config --global user.name “用户名”

邮箱:git config --global user.email “邮箱“

查看设置好的用户名和邮箱

查看用户名:git config --global user.name

查看邮箱:git config --global user.email

1.3为指令设置别名

有时候指令的参数非常多 我们输入会很麻烦 所以我们会为别名设置指令

打开用户目录 创建.bashrc文件(创建不了的 使用git命令行工具 touch~/.bashrc创建)

在.bashrc输入

#用于输出git提交日志alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'

#用于输出当前目录所有文件及基本信息alias ll='ls -al'   

 1.4解决GitBash乱码问题

使用中文会乱码 所以要解决一下乱码问题

  • 打开GitBash输入命令
git config --global core.quotepath false

${git_home}/etc/bash.bashrc 文件最后加入下面两行

export LANG="zh_CN.UTF-8"

export LC_ALL="zh_CN.UTF-8"

2.获取本地仓库

  • git init 初始化仓库 初始化完成会有一个.git文件夹

3.基础操作命令

3.1查看修改状态

  • git status

3.2添加到暂存区

  • git add 文件名
  • git add .添加所有的文件到暂存区

3.3添加到本地仓库

  • git commit -m '描述/注释内容'

3.4查看日志

  • git log 查看日志

       --all 显示所有分支

       --pretty=oneline 将提交信息显示为一行

       --abbrev-commit 使得输出的commitId更简短

       --graph 以图的形式显示

  • 可以使用别名的方式 输出日志

3.5版本回退

  • git reset --hard '版本ID'

3.6忽略提交文件

创建指定文件.gitignore 里面写忽略提交文件名的后缀 例如:*.a 忽略所有.a文件

4.分支

4.1查看本地分支

  • git branch

4.2创建本地分支

  • git branch 分支名

4.3切换分支

  • git checkout 分支名

还可以创建并切换分支

  • git checkout -b 分支名

 4.4合并分支

  • git merge 分支名

 4.5删除分支

  • git branch -d 分支名 删除分支 做各种检查
  • git branch -D 分支名 删除分支 强制删除

4.6解决冲突

当两个分支对同一个文件的同一个位置修改的时候就会发生冲突 解决步骤如下:

  • 处理文件中冲突的地方
  • 将解决完提交的暂存区
  • 再将文件提交到本地仓库

5.Git远程仓库

5.1常用的托管服务

仓库分为本地仓库和远程仓库 搭建远程仓库 常用的有 github 码云 GitLab github服务器在国外 访问较慢 码云的服务器在国内 访问较快 在这里使用码云

5.2码云配置SSH公钥

生成SSH公钥ssh-keygen -t rsa不断回车如果公钥已经存在,则自动覆盖

Gitee设置账户共公钥获取公钥cat ~/.ssh/id_rsa.pub

验证是否配置成功ssh -T git@gitee.com

公钥的作用:使用SSH公钥可以让你在你的电脑和 Gitee 通讯的时候使用安全连接(Git的Remote要使用SSH地址)

5.3操作远程仓库

5.3.1添加到远程仓库

  • git remote 远程仓库名称 远程仓库路径

5.3.2查看远程仓库

  • git remote

5.3.3推送到远程仓库

  • git push 远程仓库名称 master:master[远程分支名和master相同可以省略]

5.3.4本地分支与远程分支的关联关系

  • git branch -vv

5.3.5从远程仓库克隆

  • git clone 远程仓库路径 本地目录

5.3.6从远程仓库中抓取

  • git fetch
  • git pull

5.3.7解决合并冲突

当A B 同时修改了同一行代码 A先推送到远程仓库 B拉取一下 B再去推送的时候就会报错 解决步骤:

1.删除冲突的内容

2.重新提交推送

 

<think>好的,我现在要回答用户关于Git中哪些命令分支操作相关的问题。首先,我需要回忆一下Git中常用的分支操作命令,确保没有遗漏。 用户之前询问过软件开发生命周期、瀑布模型、测试阶段次数以及敏捷开发,现在转向Git分支相关命令,可能是在学习版本控制,特别是分支管理部分。用户可能想了解如何有效地使用Git进行分支的创建、切换、合并等操作,或者在团队协作中的工作流程。 首先,我需要明确Git分支操作涉及哪些命令。常见的包括git branch、git checkout、git merge、git rebase、git fetch、git pull、git push等。不过需要确认每个命令的具体用途是否属于分支操作git branch:显然用于分支的创建、查看、删除,是核心命令之一。比如git branch new-feature创建新分支git branch -d old-feature删除分支git checkout:虽然也可以用于切换分支,但需要注意git checkout在较新版本的Git中被git switchgit restore部分替代,不过用户可能还在使用旧语法。比如git checkout -b new-branch创建并切换分支git merge:合并分支,例如将特性分支合并到主分支,属于分支操作的重要部分。 git rebase:变基,另一种合并方式,调整提交历史,虽然用途广泛,但也是分支操作的一部分。 git fetch:获取远程仓库的更新,可能包括远程分支的信息,所以涉及分支操作。例如git fetch origin会更新远程分支列表。 git pull:实际上是git fetch加git merge,用于拉取远程分支并合并到当前分支,因此分支相关。 git push:推送本地分支到远程仓库,例如git push origin feature-branch,属于分支操作git remote:管理远程仓库,虽然主要处理远程仓库的配置,但远程分支也属于分支的一部分,比如git remote show origin查看远程分支信息。 git stash:临时保存工作区,可能在切换分支前使用,虽然不是直接操作分支,但分支工作流相关,但可能不属于用户所问的“分支操作相关命令”,需要斟酌是否包括。 git log:查看提交历史,可以显示分支情况,但主要用于查看记录,可能不算分支操作命令。 git tag:管理标签,分支无关,可以排除。 接下来,需要确认哪些命令用户可能容易忽略。例如git branch -m重命名分支,或者git branch -a查看所有分支(包括远程),这些可能需要提及。 另外,git push --set-upstream origin branch-name将本地分支远程分支关联,这也是分支操作的一部分,属于推送新分支时的常用命令。 还要考虑git clone,虽然主要克隆整个仓库,但也会检出默认分支,但可能不算分支操作的核心命令。 总结起来,相关命令包括:git branch, git checkout, git switch, git merge, git rebase, git fetch, git pull, git push, git remote(部分用法),以及git push --set-upstream等选项。 需要以清晰的结构列出这些命令,并简要说明每个命令在分支操作中的用途。同时,可能需要注意区分新旧命令,例如git switchgit checkout,但用户可能更熟悉git checkout,因此需要同时提及。 最后,确保回答准确,没有错误,比如git mergegit rebase的区别是否需要解释,但用户可能只需要知道这些命令分支相关,不需要深入细节。保持简洁,符合用户要求的结构清晰。</think>### Git分支操作相关的命令 以下是 Git 中用于创建、切换、合并管理分支的核心命令: --- #### 1. **`git branch`** - **功能**:查看、创建、删除分支。 - `git branch`:列出所有本地分支(当前分支前加`*`)。 - `git branch <分支名>`:创建新分支。 - `git branch -d <分支名>`:删除已合并的分支。 - `git branch -D <分支名>`:强制删除未合并的分支。 - `git branch -a`:查看所有分支(包括远程分支)。 --- #### 2. **`git checkout`** - **功能**:切换分支或恢复文件。 - `git checkout <分支名>`:切换到指定分支。 - `git checkout -b <新分支名>`:创建并切换到新分支(等价于 `git branch + git checkout`)。 --- #### 3. **`git switch`**(Git 2.23+ 新增) - **功能**:专用于分支切换(替代 `git checkout` 的分支操作部分)。 - `git switch <分支名>`:切换到指定分支。 - `git switch -c <新分支名>`:创建并切换到新分支。 --- #### 4. **`git merge`** - **功能**:将指定分支的提交合并到当前分支。 - `git merge <分支名>`:将目标分支合并到当前分支。 - 例如:在 `main` 分支执行 `git merge dev`,会将 `dev` 分支的内容合并到 `main`。 --- #### 5. **`git rebase`** - **功能**:将当前分支的提交“变基”到目标分支(重写提交历史)。 - `git rebase <分支名>`:将当前分支的提交应用到目标分支的最新提交之后。 - 常用于整理提交历史(如合并多个提交)。 --- #### 6. **`git fetch`** - **功能**:从远程仓库拉取分支信息(不自动合并)。 - `git fetch origin`:更新所有远程分支信息到本地。 - 结合 `git checkout origin/<分支名>` 可切换到远程分支的本地副本。 --- #### 7. **`git pull`** - **功能**:拉取远程分支并合并到当前分支(等价于 `git fetch + git merge`)。 - `git pull origin <远程分支名>`:拉取并合并指定远程分支。 --- #### 8. **`git push`** - **功能**:推送本地分支到远程仓库。 - `git push origin <本地分支名>`:将本地分支推送到远程仓库。 - `git push -u origin <分支名>`:首次推送时关联本地远程分支(后续可直接用 `git push`)。 --- ### 其他相关操作 - **查看分支关系**: - `git log --graph --oneline`:图形化显示分支合并历史。 - **强制覆盖远程分支**: - `git push --force origin <分支名>`:谨慎使用(会覆盖远程提交历史)。 --- ### 示例场景 1. **创建并切换分支**: ```bash git checkout -b feature-login # 创建并切换到 feature-login 分支 ``` 2. **合并分支**: ```bash git switch main git merge feature-login # 将 feature-login 合并到 main ``` 3. **删除远程分支**: ```bash git push origin --delete old-branch # 删除远程分支 old-branch ``` 通过灵活组合这些命令,可以实现高效的分支管理协作开发!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值