git

git分布式版本控制软件

git 首先是一个软件

版本控制:

- 本地版本控制, 文件上传到本地,电脑上不会看到有很多版本文件;(单机)

- 集中式版本控制,所有服务器去访问一个中心,提取文件版本,但是每次只能提取一个(联机)

- 分布式版本控制, 每一台服务器都有所有的文件版本(联机)

git 分布式:

- 每台服务器都有中心的所有文件版本

- 当有服务器想上传文件时,会先上传到本地,本地存储

- 然后再推送到中心

 

git版本控制的一些命令:

初始化文件

git init

查看文件状态

git status

将文件推送到暂存区

git add xx.xxx ##推送某一个文件
git add .     ##推送所有文件

生成版本

推送到版本库

git commit -m "xxxx"

查看版本记录

git log
git log --graph --pretty=format:"%H %s" #简化出现版本号

回滚至之前版本

git log
git reset --hard 版本号

回滚至回滚之后的版本

git reflog
git reset --hard 版本号

分支

查看分支

git branch

新建分支

git branch 分支名

切换分支

git checkout 分支名

合并分支

git merge 分支名

创建并切换分支

git  checkout -b 分支名

注意合并分支时,是谁合并谁,不要合并错了

合并时可能会产生冲突,产生冲突时可以手动去解决

删除分支

git branch -d 分支名

代码托管github

1. 登录github

2. 新建仓库

 

3. 填写文件名和一些描述

4. 点击创建

5. 代码托管方式

方法一:

当要托管的文件中还没生成版本号时:

创建一个文件

echo "# dhhot" >> README.md

生成版本号

git init
git add README.md
git commit -m "first commit"

创建远程连接并起别名(只用连接一次)

git remote add origin https://github.com/zengjiongh/dhhot.git

推送分支

git push -u origin 分支名

方法二:

在本地已经创建了版本号与分支

直接创建远程连接并起别名

git remote add origin https://github.com/zengjiongh/dhhot.git

向远程推送分支

git push -u origin 分支名

 克隆github代码

git clone 链接

拉代码

git pull origin 分支名

注意,推送代码时出现一下错误时

fatal: unable to access 'https://github.com/zengjiongh/dhhot.git/': OpenSSL SSL_read: Connection was reset, errno 10054

解除SSL验证

git config --global http.sslVerify "false"

出现超时时

git config --global --unset http.proxy
git config --global --unset https.proxy

合并版本(rebase)

第一种

git rebase -i HEAD~数字  ##数字几就代表要合并最新几个版本

  合并记录时尽量不要去合并已提交到仓库的记录

第二种

git checkout dev
git rebase master
git checkout master
git merge dev

  合并版本记录,显示在一条分支上

第三种

  合并代码

git pull origin dev ##方法一


git fetch orgin dev 
git rebase origin/dev  ##方法二

  如果发生冲突

git rebase master
#如果发生冲突
#手动解决冲突
git rebase --continue

快速解决冲突

1. 安装beyond compare

2. 在git中配置

git config --local merge.tool bc3
git config --local mergetool.path 'F:\beyond compare\Beyond Compare 4'
git config --local mergetool.keepBackup false

只在当前文件生效 --local

3. 应用beyond compare解决冲突

git mergetool

多人开发

每个人一个分支,是从dev分支拆出来的

创建tag值

git tag -a v1 -m "版本描述"
git push origin --tags

克隆标签代码

git clone -b v1 地址

给开源软件贡献代码

1. fork源代码

将别人的源代码拷贝到我自己的远程仓库

2. 在自己的仓库进行修改代码

3. 给源代码的作者提交修复bug的申请 (pull request)

配置文件

当前项目配置文件

.git/config

全局配置文件

C:\Users\19817\.gitconfig

免密登录

1. 在url中体现

https://github.com/zengjiongh/dhhot.git  ##原来的地址
https://用户名:密码@github.com/zengjiongh/dhhot.git  #修改后的地址

2. SSH实现

- 在电脑上生成公钥和私钥(默认地址 C:\Users\19817\.ssh目录下)

ssh-keygen

id_rsa.pub  公钥 ,id_rsa私钥

- 拷贝公钥内容,并设置到github中

在github中的设置中设置

- 在git本地配置ssh地址

git remote add origin git@github.com:zengjiongh/dhhot.git

3. git自动管理凭证

git忽略文件

- 在当前目录创建一个.gitignore文件

  将要忽略的文件放在.gitignore中

  让Git不在管理当前目录下的某些文件

  常见用法

文件名   ##不管理此文件
*.后缀名  ##将所有带此后缀名的文件都不管理
!文件名  ##管理此文件
文件夹名/   ##此文件夹下的所有文件都不管理

  更多用法参考: https://github.com/github/gitignore

Github任务管理相关

1. Issues

进行文档以及任务管理

2. Wiki

项目文档说明

 

posted @   花桥  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示