目录
一、git 前期配置准备
1、托管平台的账号注册(以gitee码云为demo)
2、本地个人电脑配置
(1)配置用户属性
编辑
(2)配置SSH密钥
二、git 工作流程图
三、git 提交命令
(1)git init,git status
(2)git clone
(3)git add
(4)git commit
(5)git push
1、origin 代表什么意思?
2、如何推送到特定的远程分支?
3、-u 是什么意思,使用场景描述?
4、git push 如何推送到远程仓库不同名的分支?
5、HEAD:refs/for/ 是什么意思,使用场景描述?
四、git 回退版本
(1)git log 、 git reflog
(2)git reset --hard
(3)git merge(合并)
(4)git rebase(重新定义起点)
五、分支的创建和检出
六、.gitignore 忽略文件的使用
1、托管平台的账号注册(以gitee码云为demo)
注册时,需要严格记住:
(1)用户名字 user_name
(2)绑定邮箱 user_email
(3)登录密码 passwd(必须牢记,后面添加git配置时,需要登录密码使用)
2、本地个人电脑配置
先安装Git工具,官网地址:https://git-scm.com/download
为了配置SSH秘钥以用于Git,打开终端(在Windows上可以使用Git Bash),请按照以下步骤操作,拷贝/输入以下内容:
(1)配置用户属性
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"查看配置信息:
git config --list
(2)配置SSH密钥
执行时,一路回车按enter即可:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
默认的路径和名称是: ~/.ssh/id_rsa。生成密钥的过程中,会先提示你输入存储密钥的文件路径和名称,然后会提示你输入一个密码。如果你希望使用默认值,直接按回车即可。
完成以上步骤后,就会在你指定的路径下生成两个文件:id_rsa 和 id_rsa.pub,其中 id_rsa 是私钥,必须妥善保管;id_rsa.pub是公钥,需要添加到Git账户中。
(3)将公钥复制添加到gitee的ssh key配置
cat ~/.ssh/id_rsa.pub
二、git 工作流程图
三、git 提交命令
(1)git init,git status
git init 命令只用于在一个空目录中创建新仓库,如果你想要克隆(clone)一个已存在的远程仓库到本地,请使用 git clone 命令。.git 默认是隐藏的,可以用 ls -a 命令查看。
查看当前仓库的操作状态:
git status
(2)git clone
克隆远程版本库——git clone 是 Git 中用于从远程仓库中复制项目的命令。这个命令会在当前目录下创建一个新的目录,其名字默认是远程仓库的名字,并且会从远程仓库下载所有的数据,同时也会把远程仓库的所有分支和标签都拉取到本地。
git clone <仓库名(SSH/HTTPS)> <本地路径目录>
(3)git add
将文件添加到暂存区:
git add <路径/文件名1> <路径/文件名2> <路径/文件名3> ...
git add .
'.'字符:将 当前目录 下, 所有更改的文件都添加到暂存区git status: 可查看操作信息, 并指示接下来的操作提示
(4)git commit
git commit -m "提交信息,注释内容"
git commit -am "提交信息,注释内容"
-
git commit -m:这个命令用于提交暂存区的文件,如果只是修改了已经跟踪的文件,可以直接使用这个命令。例如,
git commit -m "update"
会将暂存区的文件提交到本地分支。 -
git commit -am:这个命令是
git add
和git commit -m
两个命令的合并,用于提交已经跟踪过的文件。如果项目中添加了新文件,必须使用分开的命令,即先使用git add
命令跟踪新文件,然后再使用git commit -m
命令提交暂存区的文件。 -
使用 -a 选项会自动将所有已经跟踪的文件的更改添加到暂存区,并进行提交,但这不包括未跟踪的新文件。
(5)git push
常用git push命令:git pull 相当于git fetch+merge 两个操作的结合
eg:git push origin <local_branch>备注:
origin :代表远程仓库的URL
local_branch:当前本地仓库的分支
1、origin 代表什么意思?
git push命令中的origin是指远程仓库的名称,也是远程仓库在本地的别名。在Git中,远程仓库是指存储在云端或其他计算机上的代码仓库,用于协作开发和代码版本控制。origin
通常是默认的远程仓库名称,它表示要将本地代码推送到哪个远程仓库。
远程仓库的主要作用是用于代码的同步和共享。通过将本地代码推送到远程仓库,可以实现代码的版本控制和远程备份,这对于团队协作和代码管理非常重要。在多人共同开发一个项目时,远程仓库还能帮助解决代码冲突,确保团队成员之间的代码同步和更新。
查看origin信息:
git remote -v
- git remote -v命令: 用于显示当前仓库中已经配置的远程仓库的简写名称和对应的URL。具体来说,它会列出所有远程仓库的详细信息,包括每个远程仓库的名称、克隆(Fetch)和推送(Push)的URL。
- 检查配置:在添加新的远程仓库或修改现有远程仓库的URL后,使用
git remote -v
可以快速验证配置是否正确。
2、如何推送到特定的远程分支?
git push <remote_name> <local_branch_name>:<remote_branch_name>其中:
<remote_name> : 是远程仓库的名称(通常默认为 origin)
<local_branch_name> : 是你想要推送的本地分支名称
<remote_branch_name> : 是目标远程仓库的分支名称-----------------------------------------------------------------
git push <远程主机名> <本地分支名>:<远程分支名>如果本地分支名与远程分支名相同:
git push <远程主机名> <本地分支名>
3、-u 是什么意思,使用场景描述?
git push -u origin <local_branch>:<remote_branch>
4、git push 如何推送到远程仓库不同名的分支?
5、HEAD:refs/for/ 是什么意思,使用场景描述?
gerrit中 git push 带 review 回顾审核功能:
托管平台 gerrit:
git push origin HEAD:refs/for/master托管平台 gitlab、github、gitee:git push origin HEAD:refs/for/master
- 注意:
HEAD:refs/for/
这个不是git的规则,而是gerrit的规则。不适用于gitlab、github、gitee等托管平台;而 gitlab、github、gitee应该使用: refs/heads/分支名。 - Gitee本身并不直接支持
HEAD:refs/for/
这一Gerrit特有的推送格式。如果开发团队需要在Gitee上使用代码评审功能,可以考虑使用Gitee自带的Pull Request(PR)机制或其他外部代码评审工具,并根据这些工具的要求来配置和使用Git引用; - HEAD是一个指向当前工作分支的指针,表示你正在哪个分支上操作。也就是git branch -a显示的分支前的星号 ' * ',可以理解为正在工作的当前分支的别名。
6、git 中已经commit到本地仓库的文件还能再次被回退到工作区修改吗?
四、git 回退版本
回退已经提交 commit 到本地仓库的历史版本:
(1)git log 、 git reflog
git log:查看日志
git reflog:操作日志(也可查找 <commit ID>)
(2)git reset --hard <commit ID>
请注意:git reset --hard
会丢失所有工作区和暂存区的更改,操作前请确保:不需要这些更改或者已经有备份。
切记:如果暂存区存在没有commit提交到本地仓库的文件,一定记住不能执行该操作,否则未提交的文件无法恢复。
(3)git merge(合并)、git rebase(重新定义起点)
注意:想要合并到当前的分支,因为是朝当前分支合并,而不是将当前分支合到别的分支,一定得注意合并的方向
git merge <被合并的分支>
git rebase <被合并的分支>
五分钟学会git rebase和 git merge的区别_哔哩哔哩_bilibili
五、分支的创建和检出
- 分支的查看
注意:分支前的星号 ' * ' 表示当前所在的分支
git branch : 查看当前 本地仓库的分支
git branch -a: 查看当前 所有仓库的分支(包含本地仓库 和 远程仓库)
git branch -r: 查看当前 远程仓库的分支
- 分支的创建 和 删除
git branch 分支名
注意: 创建分支仅仅是创建分支,并不会做检出分支的动作-------------------------------
删除分支:
git branch -d 分支名当本地分支删除后,推动到远程仓库后,远程仓库并不能自动删除远程分支
所以分支的完全删除是分两个部分的,一个是本地,一个是远程。本地删除操作需要加上 -d或者 -D 参数,区别在于-D比-d要粗暴一点。
当被删除分支有新内容没有被合并的时候,使用-D,会直接删除。使用-d,会提示该分支有新内容没有被合并,不执行删除。
删除需谨慎,建议非特殊情况下,使用温柔的-d要好一点,以免小手一抖,眼泪长流。
————————————————原文链接:https://blog.csdn.net/qq_32452623/article/details/78355976
- 分支的检出
git checkout 分支名
- 同时创建并检出分支
git checkout -b 分支名
六、.gitignore 忽略文件的使用
.gitignore 忽略文件的介绍