不会用Git的开发人员,绝对没有真正的写过代码

Git基本概念

Git 是一个分布式版本控制软件.用来再软件开发时,管理代码的版本

第一次使用Git

第一次使用Git时候,需要配置好自己的用户名和邮箱,这是在每一次提交的时候都要使用的信息.

# github或者gitlab用到的用户名和邮箱
$ git config --global user.name "John Doe"
$ git config --global user.email "johndoe@example.com"

# 查看基本配置
git config --list

ssh连接和https连接.

ssh 连接和https连接的区别.

使用https连接,每次都要输入用户名和密码,而且那个用户名和密码好像有点BUG,都得输入两次才能对.很离谱

如何配置ssh连接github 账户

# 生成秘钥
ssh-keygen -t rsa -C "johndoe@example.com"  # ~/.ssh目录下面会有id_rsa和id_rsa.pub两个文件

cat id_rsa.pub  # 把这个里面的内容复制

复制上面的内容之后,打开你的github,进入配置页:Settings – SSH and GPG keys,添加本地生成的ssh秘钥,选择New SSH key(这里已经配置了一个key,如果是未配置秘钥的用户,这里是空的),把复制的内容贴过来,然后保存:

#测试是否配置成功sfd

用ssh链接git:ssh -T git@github.com

Git的常规操作

# 克隆项目下来
git clone git@github.com:zhongqiangwu960812/AI-RecommenderSystem.git

# 如果新改了某个文件,需要同步到远程

# 如果是新增了某个文件,可以直接
git add 文件名    
git status  # 可以查看修改情况
git commit -m '新加文件'     # 提交说明
git push    # 提交  

# 这样,就搞定了

# 如果是删除了某个或者修改了很多地方等,可以
git add .
git commit -m 'update many'
git push

#  如果是从远程仓库改了文件,需要先拉到本地,让本地和远程保持一致之后再push
git pull

分支

分支的概念

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

在这里插入图片描述

分支的基本操作.

# 创建分支
git branch name //创建名为name的分支

#切换分支
git checkout name //这个是什么意思? 切换名字到为name的分支
# 上面两行可以改成一行
git checkout -b name


#切换分支还可以用,建议用这个,上面那个容易引起误解
git switch -c dev  // 创建名为dev的分支,并切换到该分支
git switch dev      //切换到已有的dev分支.

# 修改完了代码,需要push到远程分支上,可以下面操作
git push --set-upstream origin 分支名

# 查看分支
git branch   # 本地分支
git branch -r   # 远程分支
git brance -a  # 查看所有分支

#合并分支
git merge dev //比如说当前所在分支为main,然后我使用这个命令,就会将dev和main合并到一起.

#删除分支
git branch -d name #删除分支,这个一般在当前分支开发完成,merge之后使用..




注意:在新建的分支上面做了更改之后,需要commit之后,才能看到两个的区别,不然,就会发现,两个分支的东西是一样的了.


也就是下面这个问题.
在这里插入图片描述

操作远程库的基本流程

假设什么也没有,那就从第1步开始最后.
假设已经有了本地库,那就从第二步开始.(不过好像还是得新建一个.因为不能 和别的乱七八糟的库关联啊…)

1. 先在Github新建一个仓库

2. clone 下来之后,创建两者之间的关联.

git remote add origin git@github.com:username/responame.git   //这里要使用ssh地址,而不是https地址了.因为你使用了ssh连接.

如果发现关联错误,需要解除远程关联

3. push到远程仓库

在本地的分支进行了提交之后,就可以push到远程仓库了.

git push -u origin main //第一次push
git push origin main     //后面的push

附:解除和远程库的关联

如果添加的时候地址写错了,或者就是想删除远程库,可以用git remote rm 命令。使用前,建议先用git remote -v查看远程库信息:

$ git remote -v
origin  git@github.com:michaelliao/learn-git.git (fetch)
origin  git@github.com:michaelliao/learn-git.git (push)

然后,根据名字删除,比如删除origin:

$ git remote rm origin

此处的“删除”其实是解除了本地和远程的绑定关系并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。

obsidian 的Git插件

用处

obsidian 的Git插件,可以让用户使用Github来对自己的obsidian笔记库进行备份.

理解

obsidian 的git插件,实际上只是对系统的GIT做了一些调用而已.真正起作用的是系统的Git软件.

因而,在使用obsidian-git插件之前,你需要先对vault做一些设置.比如把它初始化成Git 仓库,添加远程仓库等等…

然后就可以使用obsidian的命令,来对其进行pull push等一系列的git操作了.

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐