Git基础使用

Git介绍

Git需要安装
Git是一个软件,作用是:

  • 记录代码的变更(记录我们的开发进程)
  • 实现多人协作(可以把多人的代码合并到一起)

基础使用

1.初始化项目
git init
2.建立本地仓库和远程仓库的连接
git remote add origin 远程仓库URL
3.将码云上的仓库pull到本地
git pull origin 分支名称
4.创建并切换分支,这里和远程仓库的分支要一致(选择指定推送的分支,使用git branch可以查看分支)
git checkout -b 分支名称
5.将文件加载到暂存区(如果add错了可以使用git rm --cached 文件名 删除添加的文件)
git add .
6.将文件提交到本地仓库(-m 为描述信息)
git commit -m “Initial commit”
7.将本地仓库推送到远程仓库
git push origin 分支名称
————————————————
版权声明:本文为CSDN博主「是浩不是昊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_57645299/article/details/124433880

下载安装

尽量自己去搜索,下载,安装
安装后,安装路径,绝对不能更改

终端窗口介绍

无论windows系统,还是mac系统,都有终端窗口

  • Mac系统,就叫做终端
  • Windows系统,有cmd、powershell、Git shell(安装Git之后,就有了)

终端路径(非常重要)

  • 终端路径,关乎到命令
  • 做哪个项目,就在项目文件夹,空白处,鼠标右键,选择 Git Bash Here
  • 如果发现终端中的路径,不是项目文件夹,关闭黑窗口,进入到项目文件夹,重新打开黑窗口

终端技巧(非常重要):

  • clear 命令,用于清屏
  • 按 ↑ 或 ↓ ,来找历史命令(找曾经写过的命令)
  • 按 tab 键,可以补全命令(我们输入命令前几个字母,按 tab 键,可以补全命令)

使用前的必须配置

使用前必须配置用户名和邮箱

git config --global user.name '用户名'
git config --global user.email '邮箱'

# 查看是否配置成功
git config --global --list
执行命令后,如果看到了我们配置的用户名和邮箱,则表示正确

到公司,使用Git之前,必须配置用户名和邮箱。
用户名和邮箱,向项目经理要,公司必须提供给你
个人使用的话,配置成码云的用户名和邮箱就行了。

Git的工作原理

Git原理图.gif

基本命令

初始化

  • 一个项目,只需要初始化一次。
  • 如果你看到项目文件夹,有 .git 文件夹了,说明项目已经初始化过了,就无需再初始化了
  • 注意初始化的路径,是否是你的项目 文件夹
  • 项目和项目千万不要嵌套
git init

Mac 系统按 shift + Command + . 切换查看隐藏文件

添加命令

将工作区的改动,更新到暂存区

# 注意空格
git add .

提交命令

将暂存区的文件,提交到本地仓库,提交到本地仓库,才能形成一个版本。

git commit -m '说明文字'

查看日志

  • 执行命令,查看提交记录
  • 如果发现黑窗口显示不出所有内容,则可以按 查看剩余记录
  • 随时输入 q 退出
# 基本命令
git log

# 查看简略消息
git log --oneline

# 查看最近两次记录
git log -2

# 查看完整的记录(适用于回到历史版本【git reset --hard 版本号】之后,使用这个选项来查看完整的记录)
git log --reflog

# 选项可以组合使用
git log --oneline -2

在版本中穿梭

这里的命令非常多。

# 将代码整体 在历史中 穿梭
git reset --hard 版本号      (版本号使用前7位也可以)

# 指定文件回到某个版本
git checkout 版本号 文件名

查看状态

通过查看状态(未跟踪、已暂存、已修改、已提交),我们主要检查:是否有文件没有提交
执行 git status 命令之后:

  • 如果看到 ”nothing to commit,working tree clean”说明全部文件都提交过了。
  • 如果看到有红色、或绿色的文件名,说明还有文件没有提交呢

因为如果有文件没有提交,则不允许切换分支、创建分支、拉取代码等等。

git status

# 如果结果是
$ git status
On branch master
nothing to commit, working tree clean

说明所有文件都提交了,此时,可以切换分支、创建分支、拉取代码等等。

分支

分支相关命令

非常重要,在当前分支修改了内容,一定要提交,然后才能切换分支、才能创建分支等等

# 查看分支
git branch

# 查看分支(包括远程分支,学完远程仓库再看)
git branch -a

# 创建分支
git branch 分支名

# 切换分支
git checkout 分支名

# 创建并直接切换分支
git checkout -b 分支名

# 删除分支
git branch -d 分支名  (如果不让删除,可以使用 -D 强制删除)

# 合并分支
git merge 分支名       (把指定分支的代码,合并到当前分支)

合并分支

无需知道是什么模式的合并,硬着头皮合并就完事了。git merge 分支名

  • 不报错,没有冲突提示,表示合并完成
  • 出现一个弹框(下图),(英文输入法)输入 :q回车退出即可

image.png

  • 如果提示 CONFLICT,表示有冲突,找到有冲突的文件解决冲突(去掉分割线,选择保留什么代码,保存文件),最后 git add . 和 git commit -m ‘xxx’ 即可完成合并

image.png

远程仓库

使用远程仓库的目的:

  • 个人用,发布自己的项目
  • 公司用,实现多人协作

提供远程仓库的网站:

  • gitee.com (码云)(中文的)
  • github.com (英文版)(全球最大的代码托管服务)
  • gitlab (企业用)
  • 自己搭建服务器

SSH秘钥配置

ssh-keygen -t ed25519 -C "手机号或邮箱"

回车4次,直至出现终端路径为止。表示ssh秘钥对生成完毕了

创建好的秘密对

  • C:\用户\你的用户名\.ssh
  • Mac,打开访达,最上面的菜单>前往>个人(小房子图标),按 shift+Command+.显示隐藏文件,就会看到 .ssh 文件夹了

找到公钥,配置到码云

  • 进入 .ssh 文件夹,找到 pub 文件,vscode打开它,复制里面全部的内容
  • 打开 http://gitee.com ,右上角的头像,设置,侧边栏ssh公钥,进入添加公钥

测试一下:

  • 执行ssh -T git@gitee.com,在出现的画面中,输入 yes,然后回车
  • Are you sure you want to continue connecting (yes/no/[fingerprint])? **这里输入yes**
  • 如果提示 hi,老汤…. 表示成功了

首次推送分支

  • 创建远程仓库
    • 点击gitee.com网站右上角的 +,新建仓库
    • 只填写仓库名称(其他的千万不要选)
    • 点击创建
    • 创建后,千万不要在网站的仓库中添加什么文件(比如 README)
  • 添加远程仓库地址
    • 为了明确向哪个远程仓库推送,必须添加这个仓库的地址
    • 如果配置了ssh秘钥的话,则选择使用 SSH地址
    • 使用 git remote add 远程仓库别名 仓库地址 添加远程仓库地址
    • 使用 git remote -v 查看远程仓库地址
    • 使用 git remote remove 远程仓库别名 来移除已添加的远程仓库地址
  • 首次推送分支
    • 使用 git push -u 远程仓库别名 分支名 (首次推送任何分支都需要加 -u
    • 推送后,到远程仓库网页刷新一下,查看是否推送成功

后续的推送

  • 修改代码(注意,我们是在工作区修改的代码,工作区的代码不能推送)
  • 执行 git add . 将代码更新到暂存区
  • 执行 git commit -m 'xxxx' 将代码提交到本地仓库
  • 执行 git push 或者 git push 远程仓库别名 分支名 完成推送

如果把远程地址移除了,则再次加回来也是可以的。

使用https地址推送

  • 使用https地址,首次推送需要使用账号密码
  • 首次推送成功,账号密码就记录到自己的电脑中了,后续再推送就不用再输入账号和密码了
  • 账号密码,记录到电脑的 控制面板 -> 凭据管理器 -> Windows凭据
  • 至于推送的步骤,和使用SSH一样

非常重要:到公司,公司会给你分配用户名、密码、邮箱,如果项目经理没有给,则主动问一下

相关命令

# 查看远程地址(看一下你添加了哪个远程地址)
git remote -v

# 添加一个远程地址
git remote add 别名 仓库地址            (仓库地址使用HTTPS或SSH地址都可以)

# 移除一个远程地址
git remote remove 别名

# 首次推送(保证远程仓库是空的)
git push -u 别名 分支名                 (首次推送任何一个分支,都这样做)

# 后续的推送(先改代码、add、commit)
git push
或
git push 别名 分支名

# 拉取命令
# 当本地分支不包括远程分支的某个版本的时候,需要拉取
# 拉取后,会自动和本地分支合并
# 合并之后,才允许推送
git pull
git pull 别名 分支名

# 克隆命令
# 当我需要把远程仓库完整的下载到自己的电脑中时需要克隆(我的电脑中开始什么都没有)
git clone 远程仓库地址                  (克隆主分支)
git clone -b 分支名 远程仓库地址         (指定克隆某个分支)

小结

  • 不能把两个项目,推送到一个远程仓库(绝对不行)
  • 尽量不要在远程修改内容、不要在远程添加文件、不要在远程删除文件

多人协作

简化版本。

管理员

  • 创建本地仓库并至少提交一次(把项目的初始模板、初始代码提交上去)
    • 初始化一个项目,git init
    • 添加初始的代码到暂存区 git add .
    • 提交初始的代码到本地仓库 git commit -m “提交了初始的代码”
  • 推送到远程仓库
    • git remote add origin 仓库地址
    • git push -u origin master
  • 邀请成员
    • 码云 -> 进入远程仓库 -> 管理 -> 仓库成员管理 -> 邀请成员
    • 可以使用链接邀请,可以使用具体的用户名邀请

成员

  • 同意邀请
  • 克隆项目到本地(注意路径)
    • 执行 git clone 仓库地址 ,将项目克隆到本地。然后关闭黑窗口。
    • 进入项目文件夹,重新 git Bash Here 打开黑窗口,这样可以保证路径正确。

所有人

  • 创建分支,切换到自己的分支进行开发
    • git branch 分支名
    • git checkout 分支名
  • 编写代码,然后 add / commit / add / commit / ……
  • 推送自己的分支
    • git push –u 仓库别名 分支名

合并所有分支

  • 最后,将所有人的分支合并到一起。相当于,将所有人的代码合并到一起。从而实现多人协作。
  • 管理员或者项目经理,或者某个开发人员都可以合并分支。
    • 执行 git pull 命令,以便在本地能够查看到所有的远程分支。
    • 依次 执行 git checkout 远程分支名 将所有分支检出(下载)到本地
    • 切换到主分支或开发分支 git checkout master
    • 依次合并 其他分支 git mrege 其他分支名
    • 合并后,将master分支推送
    • 其他成员 git pull origin master 拉取更新

图示

image.png

忽略文件

在项目根目录,创建 .gitignore ,里面记录,哪些文件需要被忽略。
忽略文件的写法:https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E6%9B%B4%E6%96%B0%E5%88%B0%E4%BB%93%E5%BA%93

# 忽略所有的 .a 文件
*.a

# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a

# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO

# 忽略任何目录下名为 build 的文件夹
build/

# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt

# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

如果有些文件,已经被提交了,再设置忽略就不好使了
解决办法是:把他们从暂存区移除,然后在重新的 add、commit、push
移除的命令是 git rm -r --cached 文件名

Git图像界面

图像界面有很多:https://git-scm.com/downloads/guis
下面介绍vscode中的Git插件
使用vscode内置的Git插件,vscode只能打开一个项目
详情,见视频~~~


End

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菠萝湃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值