Git入门

1.Git简介

Git是分布式版本控制系统 不需要联网也可以得到以前的数据

SVN是集中式版本控制系统 需要联网获取历史数据

2.Git常用命令

# 1.克隆
git clone [URL] #URL:链接

# 2.生成公钥 -t加密的算法 rsa非对称加密算法 -C描述信息生成的文件在登录账号的目录下 .pub公钥
ssh-keygen -t rsa -C [xxx@gmail.com]

# 3.仓库初始化命令
git config --global user.name [username] #配置用户名
git config --global user.email [xxx@gmail.com] #配置邮箱
git config --global --list #查看本地文件
git init #初始化本地库
git add . #添加所有文件到暂存区
git commit -m [desc] [filename] #把暂存区的文件添加到本地仓库 desc:描述 filename可以指定文件[不指定默认所有文件]
git status #查看Git库状态
git remote add [name] [url] #创建远程库 name远程链接名称 url链接
git remote -v #查看所有远程仓库地址命令
git remote rm [name] #删除远程
git pull [address] master #从远程库下载到本地库(必须先下载到本地库,才能push)拉取 address:远程仓库地址
git push [address] master #上传到远程库 address:远程仓库地址

# 4.查看不同
git diff --cached # 查看下次提交时要提交的内容
git diff --stat # 查看文件的详细差别
git diff HEAD # 显示工作目录与上次提交的差异,所显示的内容都会在执行"git commit -a"命令时被提交。

# 5.创建分支
git branch #查看当前分支
git branch -v #查看所有分支
git branch -r #查看远程分支
git branch [branch] #新建分支 branch分支名
git checkout [branch] #切换分支 branch分支名
git checkout -b [branch] #新建一个分支,并切换到该分支 branch分支名
git merge [branch] #合并指定分支到当前分支 branch指定分支名
git branch -d [branch] #删除分支 branch分支名

# 6.通用命令
pwd #查看当前路径
cd .. #返回上级目录
ls #列出当前的所有文件
ll #ll列出的文件更加详细
touch [index.txt] #创建文件
mkdir index #创建目录
vim index.txt #创建txt 并进入txt文件  按esc输入:wq 保存编辑文件  yy复制 p粘贴 dd删除一行
cat index.txt #查看文件内容
rm index.txt #删除一个文件
rm -r index #删除一个目录
rm -rf #删除所有文件
reset #回到初始化 清屏
clear #清屏
history #查看历史命令
exit #退出
tail -n 1 [filename] #查看文件末尾的一行 filename:可以指定文件

# 7.查看仓库日志
git rm --cached [filename] #删除暂存区文件 只是删除暂存区 filename:可以指定删除文件
git reflog #查看本地库版本信息
git log #查看详细的版本信息
git reset --hard [version] #跳到此版本 version版本号

2.忽略文件

*.txt #忽略所有 .txt的文件,
!name.txt #忽略单个文件
/temp #仅忽略根目录下的文件 不包括其他目录的temp
temp/ #忽略temp目录下的所有文件
doc/* .txt #忽略doc/notes.txt 但不包括doc/service/arch.txt
/* #所有文件
!.gitignore #!除了
!/appapi

3.git规范

feat: 一项新功能
fix: 一个错误修复
docs: 文档更改
style: 格式化,缺少半冒号等;但没有代码更改
refactor: 重构生产代码(即不是新增功能,也不是修改bug的代码变动)
test: 添加测试;但生产代码不变
chore: 构建过程或辅助工具的变动, 更新构建任务,程序包管理器配置等;但生产代码不变
feature(数据层): 简短描述
​
详细描述
​
BREAKING CHANGE: 不兼容变动
​
Closes 关闭issue

4.合并git分支

# 1.进入要合并的分支(如dev分支合并到master,则进入master目录)
git checkout master
git pull

# 2.查看所有分支是否都pull下来了
git branch -a

# 3.使用merge合并dev分支
git merge dev

# 4.查看合并之后的状态
git status
# 5.有冲突的话,通过IDE解决冲突;

# 6.解决冲突之后,将冲突文件提交暂存区
git add [冲突文件]

# 7.提交merge之后的结果
git commit -m "备注"
不使用git commit -m "备注"提交,git会自动将合并的结果作为备注,提交本地仓库

# 8.本地仓库代码提交远程仓库
git push
git将分支合并到分支,将master合并到分支的操作步骤是一样的

99.git常见问题

1.解决冲突

git fetch origin #fetch从远程仓库中拉取数据
git reset --hard origin/master #强制覆盖本地代码(与git远程仓库保持一致)
git ls-files --cached #查看所有的暂存区文件
rm .git/index #删除所有暂存区文件
git rm -r --cached . #删除暂存区文件

2.git pull每次输入账号

git config --global credential.helper store #会在本地生成一个文本,里面记录了用户名和密码

3.git push报错

​
fatal: unable to access 'https://github.com/xxx/xxx.git/': Failed to connect to github.com port 443 after 21066 ms: Timed out

git config --global http.sslVerify false #解除ssl验证
​

4.svn保存账号密码

vim ~/.subversion/auth/svn.simple/2322bfb0bc8ba5b3f2572ae3c06c6132
# K代表key 15代表长度,V代表值 49代表长度 passtype固定是simple
K 15
svn:realmstring
V 47
<svn://192.168.1.1:8080> /opt/svn/repos/wwwroot
K 8
passtype
V 6
simple
K 8
username
V 4
name
K 8
password
V 6
123456
END

5.svn update拉取失败

$ svn update
Skipped 'xxx' -- Node remains in conflict
$ svn revert --depth=infinity xxx #还原文件或目录
Reverted 'xxx'
Reverted 'xxx/xx1'
......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值