git介绍和基本语法

本文详细介绍了Git的基础知识,包括git init、git add、git commit等操作,阐述了Git的工作流程,如何创建SSH key连接远程仓库,以及分支管理和标签管理。此外,还讲解了处理冲突、撤销提交及git pull与fetch的区别,帮助读者全面理解Git的基本使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.git介绍
版本管理系统,可以记录所有文件版本,有效追踪文件的变化,而且提供回滚到之前的状态。
Git的优点:解决多人协作问题,提高开发效率(分支的合并与创建)
2.用户信息
当安装完Git应该做的第一件事情就是设置你的用户名称与邮件地址。这样做很重要,因为每一个Git的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改。

Git config --global user.name “island”
Git config –global user.email 邮箱地址

是否配置成功可以通过git config –list
3.创建仓库
初始化版本库(创建版本库)
git init
添加文件到版本库
git add
git commit
查看仓库状态
git status
写入git repo2到git.docx中
echo “git repo2” >> git.docx
展示文件的内容
cat git.docx
提交到暂存区
git add git.docx
提交到本地仓库
git commit -m “repo2 first commit”
4.工作流
第一天你把公司的需求上传至本地仓库(git add—git commit -m “”)
后来公司的需求发生改变,然后你就对代码进行了修改,然后又git add,但是由于你还没进行过测试,所以没有提交,一直放在暂存区。
第二天的时候,后来公司又跟你说不需要修改了,还是老样子吧,那么就需要用到指令git reset HEAD 文件名(从暂存区退回到工作台),但是退回到工作以后还没清理干净,所以还要用到指令 git checkout --文件名,这时候你的文件里面的内容又变回了原来的样子。
第三天的时候,公司要让你增加功能,然后你把功能增加好了以后,你通过git add 和git commit指令将其放到本地仓库中,但是公司又跟你这个功能还是别添加了,这个时候你就需要用到指令git log 拿到commit号
在这里插入图片描述
git reset --hard commit号
回滚到第一次提交的内容,即返回到第一次提交的版本

清空文件
git rm 文件名
但是暂存区和仓库还是没有清空
git commit -m “delete 文件名”//这个时候仓库就干净了,文件都没有了。

5.远程仓库
1.创建SSH key(从本地仓库传到远程仓库就是通过创建SSH key进行传输的)

git -keygen -t rsa -C “注册在github上的邮箱地址”

登录GitHub点击settings
在这里插入图片描述
点击左侧的SSH and GPG keys然后再是点击New SSH key,然后填写相关信息,最后这个key怎么生成呢?通过语句ssh-keygen -t rsa -C “注册在github上的邮箱地址”即可。
然后如下图:在这里插入图片描述
最后就是把上面图上的key拷贝到GitHub上的key栏中。但是怎么知道我本地仓库和GitHub是否连通了呢?
可以通过如下:

ssh -T git@github.com//来判断是否为通的

在这里插入图片描述
2.添加远程仓库
首先在github中创建仓库(new repository)。如下图所示:基于本地仓库发送至远程仓库
在这里插入图片描述

通过使用语句git remote add origin https://github.com/islandd/study_github.git将本地仓库与远程仓库关联起来
在这里插入图片描述
最后通过git push -u origin master就能将本地的内容推送至远程仓库。

如果你的本地工作室里面的内容发生改变了,那么你就要重新进行git add–git commit提交,然后直接git push就能直接更新远程的仓库了。
6.克隆仓库
克隆的意思就是从远程仓库下载到本地仓库
所使用的语句如下:

git clone https://github.com/islandd/study_github.git

即可
7.标签管理
查看所有标签 git tag
(你在本地已经把代码修改好了,git commit ,git push到远程了),然后你就要开始添加其对应的版本号。
创建标签 git tag name(name就是版本号)
指定提交信息 git tag -a name -m “commit”
删除标签 git tag -d name
标签发布 git push origin name(发布到远程仓库中)

8.分支管理
1.创建分支
git branch name
2.查看所有分支
git branch
3.切换分支
git checkout name
切换到分支以后,在分支上面实现需求
在这里插入图片描述
然后在分支上实现了相应的功能,然后把分支(feature_x)上面的代码合并到主分支(master),只需要两条语句就能搞定,首先就是把他切换到主分支上git checkout master,然后进行git merge feature_x即可。那么现在分支上的内容已经没有用了,所以要删除分支,git branch -d feature_x,删除以后,在预览下 git branch即可。
9.git三种状态
1.已提交committed
2.已暂存staged
3.已修改modified
10.git工作流程
1.在工作目录修改文件
2.暂存文件,将文件的快照放入暂存区
3.提交更新,找到暂存去文件,将快照永久性存储到 Git 仓库目录。
11.查看修改
1.要查看尚未暂存的文件更新了哪些部分,不加参数直接输入 git diff
2.要查看已暂存的将要添加到下次提交里的内容,可以用 git diff --cached 或 git diff --staged
12.移除文件
想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。(不想让Git跟踪)
git rm --cached 某文件
13.文件更名
git mv file_from file_to
14.查看提交历史
git log
15.git merge发生冲突时怎么办
1.git rebase master
2.如果有冲突,rebase会中断,显示如图所示信息。
3.使用git status查看状态。显示为REBASE的状态。
4.解决冲突后执行:
git add filename
git rebase continue
如果还有冲突,需要继续解决冲突
rebase结束后,执行git push。再合并就没有问题了。
15.git reset --hard 和 git reset --soft区别
有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令。
使用命令git reset --hard 1c38838ad39b396e271cb10e2146a1d673b4a2b9撤回制定版本号(不包括该提交)之前的所有提交。
上述命令执行成功之后,会彻底返回到回退前的版本状态,新发生的变更将会丢失。
现在要撤销该commit,但是又不能撤销该提交包含的更改,使用git reset --soft 1c38838ad39b396e271cb10e2146a1d673b4a2b9
16.git pull和git fetch的区别
1.fetch:相当于是从远程获取最新版本到本地,不会自动merge

git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
git log -p master  ..origin/master //比较本地的master分支和origin/master分支的差别
git merge origin/master //进行合并

2.git pull:相当于是从远程获取最新版本并merge到本地

git pull origin master    //相当于git fetch 和 git merge
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值