商汇粹外网资源平台

搜索
查看: 1858|回复: 5

刚刚装了一个git,如何使用哦?

[复制链接]

该用户从未签到

4

主题

32

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2022-10-28 09:04:32 | 显示全部楼层 |阅读模式
显示有“Git Bash”和“Git Gui‘
回复

使用道具 举报

该用户从未签到

2

主题

27

帖子

105

积分

注册会员

Rank: 2

积分
105
发表于 2022-10-28 09:26:12 | 显示全部楼层
先把pro git看完。
Pro Git
回复

使用道具 举报

该用户从未签到

2

主题

11

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2022-10-28 09:47:52 | 显示全部楼层
个人收集了一些
Git学习资料汇总
回复

使用道具 举报

该用户从未签到

1

主题

4

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2022-10-28 10:09:32 | 显示全部楼层
什么是 Git?
Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性。
Git 的特性
Git 之所以快速和高效,主要依赖于它的两个特性:直接记录快照,而非差异比较;近乎所有操作都是本地执行。
1.SVN 的差异比较
传统的版本控制系统(例如 SVN)是基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累积的差异。



好处:节省磁盘空间,缺点:耗时、效率低。在每次切换版本的时候,都需要在基本文件的基础上,应用每个差异,从而生成目标版本对应的文件。
2.Git 的记录快照
Git 快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。为了效率,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。





缺点:占用磁盘空间较大
优点:版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。
特点:空间换时间
3.近乎所有操作都是本地执行
在Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。基于这一特点,Git在断网后依旧可以在本地对项目进行版本管理,只需联网后,把本地修改的记录同步到云端服务器即可。



4.Git 中的三个区域
使用Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库。如果把这些区域比作现实中纸质文件的人工处理和收纳管理,三个区域分别负责的任务是:
工作区:负责处理工作的区域。
暂存区:已完成的工作的临时存放区域,等待被提交。
Git 仓库:最终的存放区域。



5.Git 中的三种状态



已修改:表示修改了文件,但还没将修改的结果放到暂存区
已暂存:表示对已修改文件的当前版本做了标记,使之包含 在下次提交的列表中;
已提交:表示文件已经安全地保存 在本地的Git 仓库中。
注意:工作区的文件被修改了,但还没有放到暂存区,就是已修改状态。 如果文件已修改并放入暂存区,就属于已暂存状态。 如果Git 仓库中保存着特定版本的文件,就属于已提交状态。
6.基本的Git 工作流程



基本的Git 工作流程如下:
①在工作区中修改文件
②将你想要下次提交的更改进行暂存
③提交更新,找到暂存区的文件,将快照永久性存储到Git 仓库.
Git入门到精通
回复

使用道具 举报

该用户从未签到

1

主题

23

帖子

105

积分

注册会员

Rank: 2

积分
105
发表于 2022-10-28 10:31:12 | 显示全部楼层
一、了解:


  • 定义:一个开源的分布式版本控制系统(Linux内核)
  • Git for Windows工具:


  • Git BASH:从命令行运行 Git
  • Git GUI:Git BASH的强大替代品,提供了几乎每个Git命令行函数的图形版本,以及全面的可视化差异工具
二、工作流程:


三、基本操作学习

1. 查看配置信息(身份标志)

git config --global user.namegit config --global user.email
2. 保存成一个提交记录(即前后版本差异的快照,非常轻量!)

git commit
3. 分支(仅仅是简单地指向某个提交纪录,包括了该提交版本中你的记录,切换非常方便!)

git branch <name>#创建git checkout <name>#切换到git checkout -b <your-branch-name> #以上两命令的合并
实践:
git branch bugFixgit checkout bugFixgit commitgit commitgit branch bugFix2git switch bugFix2git commit### 提交时,所在分支跟着往下走### 不影响主流程

分支合并:


  • merge
git merge <name>### 将<name>分支合并到当前所在分支
实践:


git branch bugFixgit switch bugFixgit commitgit switch maingit commitgit merge bugFix### 注意合并分支时,当前分支是哪个,如果将 main 合并到 bugFix ,Git 将 bugFix 移动到 main 所指向的那个提交记录,则每一个分支都包含了代码库的所有修改

2. rebase -复制,构成线性提交流程
git rebase main### 将另一个分支的复制品放在 main 顶端,注意:此时被复制节点依然存在
实践:
git checkout -b bugFixgit commitgit switch maingit commitgit switch bugFixgit rebase maingit switch maingit rebase bugFix

note:早建分支!多用分支!
1. 即使创建再多的分支也不会造成储存或内存上的开销
2. 按逻辑分解工作到不同的分支要比维护那些特别臃肿的分支简单多了
3. 在 Git 2.23 版本中,引入了一个名为git switch的新命令,最终会取代git checkout,因为checkout作为单个命令有点超载(它承载了很多独立的功能)
记住使用分支其实就相当于在说:"我想基于这个提交以及它所有的父提交进行新的工作。"

......(后面慢慢学。。。路还很长。。。)
四、Git与GitHub通过ssh协议绑定(Win10)


  • 打开Git Bash获取ssh key
ssh#查看本机是否安装了sshssh-keygen -t rsa#指定RSA算法生成密钥,三次回车键后,生成了id_rsa与id_rsa.pub文件
2. 打开GitHub->settings->SSH and GPG Keys,将id_rsa.pub文件中的内容复制到Key处,Add一下即可
3. 判断是否成功,在Git Bash中输入  ssh -T git@github.com  
***五、GitHub具体项目


  • 成功进入GitHub后,找到需要的项目

2.在选定的存储目录下右击打开Git Bash
git clone <1中获取的HTTPS>### 在本地克隆
3.参考项目中的描述进行使用,搭配书籍
PS:

GitHub偶尔打不开:
1.IP+hosts权限修改
2.修改DNS解析(没试过)
github无法打开或加载慢的解决方法 - 知乎 (zhihu.com)
3.switchhosts+hosts权限修改+URL
github-hosts: 本项目定时更新GitHub最新hosts,解决GitHub图片无法显示,加速GitHub网页浏览。 (gitee.com)
RQ:


  • 快照:揭秘:存储快照的实现 - 知乎 (zhihu.com)
  • 分支内部情况
参考资料:
[1] Learn Git Branching
[2] 学习 Git 分支 (learngitbranching.js.org)
[3] Git - git-switch 文档 (git-scm.com)
[4] 网址(url),域名,ip地址,dns,hosts之间的关系 - 扫地僧灬 - 博客园 (cnblogs.com)
回复

使用道具 举报

该用户从未签到

1

主题

23

帖子

105

积分

注册会员

Rank: 2

积分
105
发表于 2022-10-28 10:52:52 | 显示全部楼层
如有误,欢迎大神指正。
简单介绍git

Git是一个分布式版本管理系统,是为了更好地管理Linux内核开发而创立的。
Git可以在任何时间点,把文档的状态作为更新记录保存起来。因此可以把编辑过的文档复原到以前的状态,也可以显示编辑前后的内容差异。而且,编辑旧文件后,试图覆盖较新的文件的时候(即上传文件到服务器时),系统会发出警告,因此可以避免在无意中覆盖了他人的编辑内容。
Git的数据库分为“本地数据库”和“远程数据库”两种:

  • 本地数据库: 为了方便用户个人使用,在自己的机器上配置的数据库。
  • 远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。
平时用手头上的机器在本地数据库上操作就可以了。如果想要公开在本地数据库中修改的内容,把内容上传到远程数据库就可以了。另外,通过远程数据库还可以取得其他人修改的内容。
创建本地数据库的方法有两种:一种是创建全新的数据库,另一种是复制远程数据库。





前期准备工作

1. 找到或创建本地的ssh key

由于本地Git仓库和gitee仓库之间的传输是通过SSH加密的,所以需要设置:
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录。
如果有:再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,看第二步
如果没有:打开命令行(直接在地址栏输入cmd),输入如下命令:ssh-keygen -t rsa –C “youremail@example.com”(如果报错,请查看文档最下面的“异常处理”)






此时就生成两个文件:id_rsa、id_rsa.pub
第二步:用记事本打开id_rsa.pub,复制里面内容,备用。





2. 注册gitee,添加邮箱

注册gitee,在设置中添加邮箱





3. 使用ssh key 连接本机和gitee云端

在设置中放入从rd_rsa.pub中复制的内容:





点击确认后,输入密码验证:





4. 下载并安装git

搜索git,进入主页















下载好的文件:





右击“以管理员身份运行”来安装。具体安装步骤都按照默认安装就好,略过。
5. 创建本地git仓库


  • 创建一个文件夹,用来专门存放python项目,比如“python_project”
  • 在文件夹内右击,Git Bash Here进入git命令行










通过命令 git init 把这个目录变成git可以管理的仓库,这时候你当前python_project目录下会多了一个.git的目录(需要勾选“查看-隐藏的项目”),这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会破坏git仓库。










开始项目






1. 新建仓库

输入仓库名称等信息:















点击“复制”,即可复制项目链接,留作备用。
2. 将云端项目克隆到本地

然后就可以使用git clone将gitee上的项目克隆到本地:










3. 使用pycharm开发程序

然后就可以使用pycharm打开此项目开始写代码,其余的git命令可以在pycharm的terminal执行。(如果提示“'git' 不是内部或外部命令”,请看文档最下方的异常处理)

























3. 将写的程序上传到云端

现在测试:在文件中添加Readme.md文件,并将其推送到gitee中





上传文件分为三步:






  • git add Readme.md :将文件添加到暂存区

    • 通常是每完成一个小的功能点,就把代码添加到暂存区。
    • 可以多次提交到暂存区。
    • 可以一次性提交多个文件。git add[a.py](http://a.py)[b.py](http://b.py)c.py




  • git commit -m "添加Readme.md文件" :将暂存区文件提交到本地仓库

    • 通常是一次或多次git add命令,对应一次git commit命令。




  • git push -u origin :将本地仓库的数据提交到远程仓库

    • 通常是一次或多次git commit命令,对应一次git push命令








此时刷新gitee页面,就能出现推上去的Readme.md文件





异常处理

1. pycharm的命令行terminal使用git提示:'git' 不是内部或外部命令,也不是可运行的程序或批处理文件。






解决方法:









然后新打开一个terminal窗口,就可正常使用git了

2. please tell me who you are.




git add Readme.md 回车








3. ssh-keygen报错

先下载并安装git,然后创建本地git仓库(参考上面的安装等步骤),再在git的命令行中执行此命令:ssh-keygen -t rsa –C “youremail@example.com”


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表