Git 配置和使用


一、Git 介绍:
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软
件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必
服务器端软件支持。
二、Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概
念和特征。
Git 与 SVN 区别点:
• 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,C
VS 等,最核心的区别。
• 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元
信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
• 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另
外一个目录。
• 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的
一个特征。
• 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代
码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

三、Git 工作原理图:

Workspace:工作区
• Index / Stage:暂存区
• Repository:仓库区(或本地仓库)
• Remote:远程仓库
 
四、配置:
a) 操作步骤
目前git支持https和git两种传输协议,github分享链接时会有两种协议可选:
1、Clone with SSH
2、Clone with HTTPS
git 在使用 https 协议的时候,每次 pull、push 都会提示要输入密码,使用 git
协议,然后使用 ssh,这样可以免去在执行 pull 和 push 的时候次次都要输入
密码的麻烦。
使用 git 协议大致可以分为是三个步骤
1、生成密钥对
2、设置远程仓库上的公钥
3、把 git 的 remote url 修改为 git 协议

第一步:生成密钥对
首先,检查下自己之前有没有已经生成:

在开始菜单中打开 git 下的 git bash(当然,在其他目录下打开 git bash 也是
一样的):

然后执行 ./ssh

如果能进入到.ssh 文件目录下 ,则证明,之前生成过.ssh 秘钥,可以直接使
用里面的秘钥。如果不能进入到.ssh 文件目录下,则:
生成秘钥,输入以下命令:
ssh-keygen -t rsa -C ‘上面的邮箱’

接着按 3 个回车,不需要输入任何东西 :
 

最后在.ssh 目录下得到了两个文件:id_rsa(私有秘钥)和 id_rsa.pub(公有密
钥)这两个就是 SSH Key 的秘钥对,id_rsa 是私钥,不能泄露出去,id_rsa.pub
是公钥,可以放心地告诉任何人。
输入命令:cd ~/.ssh 进入~/.ssh 目录
输入如下命令查看当前目录和当前目录下的内容
命令 1:pwd

命令 2:ls -l

查看公钥并复制全部:
命令:cat id_rsa.pub

选中全部内容,右击点击 copy 进行复制

第二步:设置远程仓库上的公钥
1.登录 Gitee,进入“设置

复制生成后的 ssh key,点击右上角头像-设置页面进入设置明细,按照下图的操
作即可完成添加公钥

添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
首次使用需要确认并添加主机到本机 SSH 可信列表。若返回 Hi XXX! You’ve
successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。

添加成功后,就可以使用 SSH 协议对仓库进行操作了。
思考:为什么 GitHub 需要 SSH Key 呢?
因为 GitHub 需要识别出你推送的提交确实是你推送的,而不是别人冒充
的,而 Git 支持 SSH 协议,所以,GitHub 只要知道了你的公钥,就可以
确认只有你自己才能推送。当然,GitHub 允许你添加多个 Key。假定你
有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电
脑的 Key 都添加到 GitHub,就可以在每台电脑上往 GitHub 推送了。
声明:向远程仓库提交代码,一般分为两种情况,一种是远程先创建仓库,
一种是本地先创建代码,前者最简单,后者稍微有些麻烦
场景 1:第一次从远程仓库克隆到本地
说明:先有远程仓库,然后第一次克隆到本地后,再开始新增代码的场景
1、远程先创建代码库
请登录 GitHub 自行创建代码仓库,此处直接复制仓库地址

点击复制 git 开头的仓库地址
2、然后克隆到本地
在想要存放代码的目录空白处(此处是 D:/code/gitee)右击打开 git bash 命令
行窗口

输入复制的 ssh 仓库地址

检查是否把远程仓库下载到本地,输入 ls 命令

到此,远程仓库 VIPtest 就被克隆(下载)到本地了
3、开始使用之命令行(新增代码后提交到远程)
此时在本地新增代码 xx.py 文件(可以使用命令行创建文件,也可以使用
pycharm 打开创建),然后开始提交到远程,步骤如下:
1-先进入本地仓库并确认

使用 ls 查看仓库下的文件

2-新建 py 文件,并查看

使用 ls 查看是否有新增的 test.py

3-提交,分为三步:
1>git add . -表示将 workspace 的代码提交到暂存区

2>git commit -m 注释 -表示将暂存区的代码提交到本地仓库,并加注释
(-m 后可以添加此次提交的对应注释说明)

3>git push-表示将本地仓库的代码推送到远程仓库#第一次推送本地代码到远程分支(后期就可以直接使用 git push)
查看远程仓库是否新增该文件,如果有则表示成功。
 

总结:

a) 新建代码库
# 在当前目录新建一个 Git 代码库   git init
# 新建一个目录,将其初始化为 Git 代码库    git init [project-name]
# 下载一个项目和它的整个代码历史   git clone [url]

b) 配置
# 显示当前的 Git 配置     git config –list
# 编辑 Git 配置文件        git config -e [–global]
# 设置提交代码时的用户信息
git config [–global] user.name “[name]”
git config [–global] user.email “[email address]”
c) 增加、删除文件
# 添加指定文件到暂存区    git add [file1] [file2] …
# 添加当前目录的所有文件到暂存区   git add .

# 删除工作区文件,并且将这次删除放入暂存区    git rm [file1] [file2] ..
d) 代码提交
# 提交暂存区到仓库区    git commit -m [message]
e) 分支
# 列出当前所在的分支    git branch
# 列出所有远程分支       git branch -r
# 列出所有本地分支和远程分支     git branch -a
# 新建一个分支,但依然停留在当前分支     git branch [branch-name]

# 新建一个分支,并切换到该分支     git checkout -b [branch]
# 删除分支      git branch -d [branch-name]
# 删除远程分支     git push origin –delete [branch-name]        git branch -dr [remote/branch]
f) 查看信息
# 显示有变更的文件    git status
# 显示当前分支的版本历史    git log
g) 合并
1.将开发分支代码合入到 master 中
git checkout dev #切换到 dev 开发分支

git pull
git checkout master
git merge dev #合并 dev 分支到 master 上
git push origin master #将代码推到 master 上
2.将 master 的代码同步更新到开发分支中
merge 方法:保证主干提交线干净(可以安全回溯)
git checkout master
git pull
git checkout dev
git merge master
git pull origin dev

 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/281680.html

(0)
上一篇 2022年8月22日
下一篇 2022年8月22日

相关推荐

发表回复

登录后才能评论