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 [email protected]:zengjiongh/dhhot.git
3. git自动管理凭证
git忽略文件
- 在当前目录创建一个.gitignore文件
将要忽略的文件放在.gitignore中
让Git不在管理当前目录下的某些文件
常见用法
文件名 ##不管理此文件 *.后缀名 ##将所有带此后缀名的文件都不管理 !文件名 ##管理此文件 文件夹名/ ##此文件夹下的所有文件都不管理
更多用法参考: https://github.com/github/gitignore
Github任务管理相关
1. Issues
进行文档以及任务管理
2. Wiki
项目文档说明
标签:文件,git,--,##,github,分支 From: https://www.cnblogs.com/zengjirong/p/16444435.html