git

git 一般用于开源项目,并且可以把开源项目发布到github中
git -> github/码云(gitee)
本地仓库 远程仓库
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 安装git
	2. 测试
		> git --version
	3. 使用
		1) 初始化本地仓库
		> git init
		当前目录就成为了git的本地仓库,在当前目录中会产生一个隐藏目录 git
		2) 查看状态
		> git status

		3) 将新建文件、修改添加到git中
		> git add *

		4) 将改变提交为一个版本
		> git commit -m '[licy]初始化版本'

		请你告诉git你是谁
		> git config --global user.name="pluslicy"
		> git config --global user.email="licy@briup.com"

		5) 查看历史版本
		> git log
		> git reflog

		6) 时光穿梭
		> git reset --hard 74ca8

		7) .gitignore
			让git不去管理指定的文件或目录
			src
			node_modules 	第三方依赖,git
			package.json
		8) 本地仓库与远程仓库绑定
			1. 在github/gitee中新建远程仓库
				public 	任何人都可以查看代码,协作者才可以提交
				private 只有自己和协作者才可以查看,提交代码
		2. 绑定
		> git remote add origin https://github.com/pluslicy/git_web1902.git
		3. 更新,将远程的主分支值更新到本地
		> git pull origin master
		4. 推送,将本地的仓库推送到远程
			> git push origin master
			需要输入用户名和密码

		9) 多人协作
			1. 添加协作者
			2. 协作者同意后协作者就可以进行提交
			1) 先将远程仓库克隆到本地(下载github上的文件)
					> git clone https://github.com/pluslicy/git_web1902.git
			2) 操作
					先更新,再提交
					> git pull origin master
					> git push origin master
	10) 注意:
			提交之前先更新
			尽量不要多人同时操作一个文件
			空目录不会直接提交

git本地仓库远程地址更改
1、如果远程地址错误,fatal:remote origin already exists
先输入 git remote rm origin ,在输入git remote add origin 地址
2、将代码由本地仓库上传到github远程仓库
1)获取远程仓库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master //不加这句可能报错,原因是 github 中的 README.md 文件不在本地仓库中
//可以通过该命令进行代码合并
2)把当前分支master推送到远程
git push -u origin master

git中删除指定文件

1、拉取远程仓库的文件到本地git clone xxx
2、git的删除命令为rm,可以通过如下命令获取rm相关说明git rm -h
在这里插入图片描述

$ git rm -h
用法:git rm [<选项>] [--] <文件>...
    -n, --dry-run         演习
    -q, --quiet           不列出删除的文件
    --cached              只从索引区删除
    -f, --force           忽略文件更新状态检查
    -r                    允许递归删除
    --ignore-unmatch      即使没有匹配,也以零状态退出

在本地文件夹中删除不需要的文件
通过上面操作,已经将远程仓库的文件下载到本地文件夹,删除文件后,通过以下命令查看文件状态
在这里插入图片描述
3、提交修改后的文件到远程仓库
git add *
git commit -m '提交信息'
git push origin master

Git创建Develop分支的命令:

git checkout -b develop master

将Develop分支发布到Master分支的命令:

 # 切换到Master分支
git checkout master
 # 对Develop分支进行合并
git merge --no-ff develop

4、分支

# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
# 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 新建一个分支,指向指定commit
$ git branch [branch] [commit]
# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
# 切换到上一个分支
$ git checkout -
# 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

5、标签

# 列出所有tag
$ git tag
# 新建一个tag在当前commit
$ git tag [tag]
# 新建一个tag在指定commit
$ git tag [tag] [commit]
# 删除本地tag
$ git tag -d [tag]
# 删除远程tag
$ git push origin :refs/tags/[tagName]
# 查看tag信息
$ git show [tag]
# 提交指定tag
$ git push [remote] [tag]
# 提交所有tag
$ git push [remote] --tags
# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]

6、配置https和ssh推送时保存用户名和密码

# https提交保存用户名和密码
$ git config --global credential.helper store
# 生成公钥私钥,将公钥配置到GitHub,ssh提交就可以免输入用户名密码
# 三次回车即可生成 ssh key
$ ssh-keygen -t rsa
# 查看已生成的公钥
$ cat ~/.ssh/id_rsa.pub

7、撤销

# 恢复暂存区的指定文件到工作区
$ git checkout [file]
# 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]
# 恢复暂存区的所有文件到工作区
$ git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]
# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]
# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]
# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]
# 暂时将未提交的变化移除,稍后再移入
$ git stash
$ git stash pop

使用git时,出现的问题

问题一: fatal: unable to access ‘https://github.com/xxx’: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

回答:

git config --global --add remote.origin.proxy “127.0.0.1:(proxy http port number)”

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值