Git的基础使用
Git的基础使用
以下是关于Git中几个区域及其作用的表格,包括暂存区、工作区、本地仓库和远程仓库:
区域 | 描述 |
---|---|
暂存区(Stage/Index) | 用于暂存待提交的更改。通过git add 命令将文件添加到暂存区,可以将其标记为待提交的更改。 |
工作区(Working Directory) | 用户在本地计算机上实际看到的目录和文件。工作区是Git仓库的根目录,其中包含所有版本控制下的文件。 |
本地仓库(Local Repository) | 存储在用户计算机上的实际Git仓库。它包含所有提交的历史记录、分支、标签等信息。 |
远程仓库(Remote Repository) | 存储在远程服务器上的Git仓库。通常用于与他人共享代码或备份代码。可以通过git push 命令将本地仓库的更改推送到远程仓库。 |
这些区域在Git中扮演着不同的角色,它们协同工作以实现版本控制和协作。通过使用暂存区,用户可以临时保存多个版本的更改,并在准备好提交时将它们一起提交到本地仓库。工作区是用户实际看到和操作的文件和目录,而本地仓库则存储了整个Git仓库的历史记录和元数据。远程仓库用于与他人共享代码或备份代码,可以通过git push
命令将本地仓库的更改推送到远程仓库。
- 工作区:从Git版本库解包出来的实际可编辑的文件,放在磁盘上供我们使用或修改,即我们能直接看到的项目目录。
- 暂存区:是一个文件,实际位于.git/index,所以把暂存区也叫做索引(Index),保存了下次将要提交的文件列表信息。通过执行
git add
命令将工作区中的文件添加到暂存区。 - 本地仓库:存储在用户计算机上的实际Git仓库,包含所有提交的历史记录、分支、标签等信息。执行
git commit
命令将暂存区的文件提交到本地仓库。 - 远程仓库:存储在远程服务器上的Git仓库,通常用于与他人共享代码或备份代码。通过执行
git push
命令将本地仓库的更改推送到远程仓库。
命令:
克隆 远程仓库
1 | git clone |
检查本地仓库状态
1 | git status |
将工作区的修改添加到暂存区
1 | git add <file> |
将暂存区的修改提交到本地仓库
1 | git commit -m <msg> |
将本地仓库提交到远程仓库
1 | git push |
查看日志
1 | git log |
tip:输入q退出
查看提交记录
1 | git reflog |
tip:使用此方式查看的文件Id比较短
编写:
在工作区撤销指定文件
1 | git checkout -- <file> |
从暂存区撤销到工作区
1 | git reset head . |
tip:当你已经将代码add 到暂存区的时候 你想要撤回先要将代码从暂存区撤销回工作区 才能使用checkout撤销文件做出修改
从本地仓库撤销已提交消息
1 | git reset --hard |
假设您有一个 Git 仓库,里面包含了一些提交记录,并且当前分支位于最新的提交上。现在,假设您误提交了一些代码并且想撤回这个提交。
您可以使用 git log
命令查看提交记录,找到您想要撤回的提交的哈希值或引用,然后运行 git reset --hard <commit-hash>
命令撤回提交。在这个例子中,假设您要撤回最后一个提交,可以使用 git reset --hard HEAD~1
命令。
这个命令的效果是将工作目录和索引恢复到上一个提交状态,并且丢弃所有在重置点之后进行的修改。任何未提交的更改都会被丢弃。
回到之前的版本
首先,使用 git reflog
命令可以查看提交历史记录以及每次操作对应的哈希值。这可以帮助你找到需要回退到的特定提交。接下来,你可以使用 git revert --no-edit <hash>
命令来撤销指定提交的更改,但不会打开编辑器以供编辑提交信息。
例如,假设要回退到哈希值为 <hash>
的提交,你可以执行以下命令:
1 | git revert --no-edit <hash> |
这将会创建一个新的提交,内容是撤销了哈希值为 <hash>
的提交所引入的更改。该命令不会打开编辑器以进行提交信息的修改,而是使用默认的撤销提交信息。
分支
步骤 | 命令 | 描述 |
---|---|---|
1 | git init |
初始化一个Git仓库 |
2 | git branch |
查看当前分支列表 |
3 | git branch <branch-name> |
创建一个新的分支,名为<branch-name> |
4 | git checkout <branch-name> |
切换到新创建的分支,名为<branch-name> |
5 | git merge <branch-name> |
将当前分支与指定的<branch-name> 分支合并 |
6 | git branch -d <branch-name> |
删除名为<branch-name> 的分支(如果合并后的分支已被删除) |
7 | git branch -D <branch-name> |
强制删除名为<branch-name> 的分支(即使合并未完成) |
8 | git push origin <branch-name> |
将名为<branch-name> 的分支推送到远程仓库(如果已关联) |
创建本地仓库和远程仓库然后链接仓库进行操作
使用
1 | git remote add <name> <url> |
关联远程仓库
强制拉取远程仓库的数据
1 | git pull --allow-unrelated-histories |
如果在强制拉取的时候报错则需要输入当前远程仓库名字和分支
然后将本地仓库内容推送到远程仓库
1 | git add . |
tip:如果报错
1 | $ git push |
则是因为你没有设置你要推送的远程仓库名称和分支
分支:
不同的分支都是独立的,合并分支后才会统一,适合多线程操作
创建分支
1 | git branch <分支名称> master |
推送分支到远程仓库
1 | git push - u origin <分支名称> |
创建一个新分支到远程仓库
1 | git push origin <new branch name> |
删除远程仓库的分支
1 | git push origin --delete <old-branch-name> |
删除本地分支
1 | git branch -d <branch-name> |
查看分支
1 | git branch |
查看所有分支
1 | git branch -a |
tip:如果你创建了但是没有显示分支,那么就切换你创建的分支再回到主分支就出现了
切换分支
1 | git checkout <分支名称> |
合并分支
git merge master
如果想要将其他分支的内容合并到master那么按照以下流程操作
1 | git checkout master |
或者直接
1 | git push |
分支改名
1 | git branch -m <旧名字> <新名字> |
git
一.作用
分布式版本控制工具,主要管理java源代码,xml文件,html页面,可以通过它进行 代码回溯,版本切换,多人协作,远程备份
二.git常用命令
全局设置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。
在Git命令行中执行下面命令:
◆设置用户信息1
2git config --global user.name "zyw"
git config --global user.email "1024655706@qq.com"◆查看配置信息
1
git config --list
注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
获取git仓库
- 在本地初始化仓库 git init(不常用)
- 拉去远程仓库(常用)
git基本概念
- 版本库 git文件包含配置信息,日志信息,文件信息.
- 工作区包含git文件的目录存放开发代码
- untracked未跟踪(未被纳入版本控制) 创建完文件没有执行git add *
- tracked已跟踪(被纳入版本控制)
- unmodified 未修改状态
- Modified 已修改状态
- staged 已暂存状态
- 暂存区.git目录中的index文件也叫stage
本地仓库操作命令
git status 查看文件状态
git add 将文件存入暂存区
git reset 将暂存区的文件取消 或者切换到指定版本 git rest –hard
git commit 将暂存区的文件提交到 版本库
ps:处理完冲突后提交报错 后面跟 -i
git log 查看日志
远程仓库操作命令
git remote -v 查看远程仓库
git remote add origin 添加远程仓库 将本地仓库和远程仓库进行关联
ps: git pull origin master
ps:关联后拉取远程仓库信息会报错,在拉取的后面添加–allow-unrelated-histories
git clone 从远程仓库克隆
git pull 从远程仓库拉取
git push 推送远程仓库
分支操作命令
- git branch 查看分支 -r 远程分支 -a 远程分支和本地分支
- git branch [name] 创建分支
- git checkout [name] 切换分支
- git push [shortName] [name] 推送至远程仓库分支
- git merge [name] 合并分支
标签操作命令(版本)
- git tag 查看标签
- git tag [name] 创建标签
- git push [shortName] [name] 推送至远程仓库
- git checkout -b [branch] [name] 检出标签
三.在idea中使用git
初始化仓库
- 本地初始化仓库 去cvs中
- 克隆远程仓库 去cvs中
按照图形化界面提交代码即可
如果是本地初始化仓库需要拉取 代码在进行提交
1
2
3
4
5
6Push rejected
推拒
Push to origin/master was rejected
推到原点/主人被拒绝
git pull origin master -–allow-unrelated-histories
git push -u origin master -f
- Title: Git的基础使用
- Author: owofile
- Created at : 2023-11-18 07:05:36
- Updated at : 2025-04-11 21:18:26
- Link: https://owofile.github.io/blog/2023/11/18/Git/
- License: This work is licensed under CC BY-NC-SA 4.0.