Git使用大全

基本概念:
仓库(Repository):
仓库的意思,即你的项目,你想在GitHUb上开源一个项目,那就必须要重建一个
Repository,如果你开源的项目多了,你就拥有了多个Repository

收藏(Star)
仓库主页star按钮,意思为收藏项目的人数,在GitHub上如果你有一个项目获得
100个Star都算很不容易了!

复制克隆项目(Fork)
如果实在要翻译我把他翻译成分叉,就是你开源了一个项目,别人想在你这个项目
基础上做些改进,然后引用到自己的项目中,这个时候他就可以Fork你的项目
(打开项目主页点击右上角的fork按钮即可),然后他的GitHub主页上就多了一个
项目,只不过这个项目是基于你的项目基础,他就可以随心所欲的去改进,但是
丝毫不会影响原有项目的代码与结构。

发起请求(Pull Request)
发起请求,这个其实是基于Fork的,还是上面那个例子,如果别人在你的基础
上做了改进,后来觉得改进的很不错,应该要把这些改进让更多的人受益,于是
就想把自己的改进合并到原有的项目里,这个时候他就可以发起一个Pull Request
(简称PR),原有项目创建人,也就是你,就可以收到这个请求,这个时候你会仔细
review他的代码,并且测试觉得ok了,就会接受他的PR,这个时候他做的改进,
原项目就会拥有来了。

关注(Watch)
这个也好理解就是观察,如果你watch了某个项目,那么以后只要这个项目有任何
更新,你都会第一时间收到关于这个项目的通知提醒

事务卡片(lssue)
发现代码BUG,但是目前没有成型代码,需要讨论时用,
问题的意思,举个例子,就是你开源了一个醒目,别人发现你的项目中有bug,
或者那些地方的不够好,他就可以给你提个lssue,即问题,提的问题多了,就是
lssues,然后你看到了这些问题就可以去一个个修复,修复ok了就可以一个个的
close掉。

Github主页
账号创建成功或者点击网址导航栏github图标都可以进入github主页,该主页
左侧主要显示用户动态以及关注用户或关注仓库的动态,右侧显示所有的git库

仓库主页
仓库主页主要显示项目的信息,如,项目代码,版本,收藏/关注/fork 情况等

个人主页
个人信息,头像,个人简介,关注我的人,我关注的人,我关注的git库,我的
开源项目,我贡献的开源项目等信息

Git
使用git的目的:通过git管理github托管项目代码
官网:www.git-scm.com/download/win

Git 工作区域:
工作区(Working Directory):添加,编辑,修改文件等动作

暂存区:暂存已经修改的文件最后统一提交到git仓库中

Git Repository(Git创库) :最终确定的文件保存到创库,
						成为一个新的版本,并且对他人可见

命令:
	git status --> git add +文件名 --> git status --> 
	git  commit -m "提交描述" -->git status	

Git 初始化及仓库创建和操作
基本信息设置:
1.设置用户名:git config --global user.name ‘用户名’
2.设置用户名邮箱:git config --global user.email ‘用户名邮箱’

初始化一个新的Git仓库
1.创建文件夹
2.在文件内初始化git(创建git仓库)
命令:git init(它里面存储本地仓库的所有信息)
touch + 文件名 :表示创建文件

将本地仓库代码提交到远程仓库中
git push:将本地仓库提交到远程仓库中
思考:有时候为什么不能同步? 会有代码提示:1.没有权限 2.The Request url returned erro:403 Forbidden while accessing
有时候是缓存问题,这个时候要修改git目录下的config文件
将 [remote ‘origin’]
url = https://github.com/用户名/仓库名.git
修改为:
[remote ‘origin’]
url = http://用户名:密码@github.com/用户名/仓库名.git

Git克隆
将远程仓库(github对应的项目) 复制到本地仓库
代码:git clone + 仓库地址

Github Pages 搭建网站
个人站点
访问
http://用户名.github.io

搭建步骤
1)创建个人站点 --> 新建仓库(注:仓库名必须是【用户名.github.io】)
2)在仓库下新建index.html的文件即可

本地仓库:
Git 代码:
git status:该命令可以让我们时刻掌握仓库当前的状态
git diff:该命令可以查看修改后的内容
git add+“文件名”:表示添加文件
git commit -m “描述内容:增加的功能”:表示提交到本地仓库
git log:该命令可以显示从最近到最远的提交日志(‘所有修改的状态 里面包括版本号’ )
git log --pretty=oneline
git reflog :该命令记录每一次命令
git checkout --‘文件名’:1.如果fileName文件自修改后还没有被放到暂存区,现在撤销就会回到和版本库一模一样的状态
2.如果fileName文件已经添加到暂存区后,现在撤销修改就回到添加到暂存区后的状态
3.总之,就是让这个fileName文件回到最后一次git commit或者git add时的状态
git add. :表示将当前所有的文件都推到了缓存区

重点代码:
回退到上一版本:git reset --hard HEAD^
回退到上上版本:git reset --hard HEAD^^
会退到100个版本:git reset --hard HEAD-100
会退到具体版本:git reset --hard 具体版本号

远程仓库:如果需要将本地仓库代码提交到远程仓库中:1.创建SSK Key:黑屏终端输入ssh-keygen -t rsa -C '你自己GitHub’的注册邮箱
记录.shh目录位置(/c/Users/liulin/.ssh)

											输入GitHub注册密码(注意:密文输入,黑屏终端不会显示密码)
											.ssh  id_rsa:私钥
												  id_rsa.pub:公钥
											测试秘钥是否通过:ssh -T [email protected] 

关联远程仓库:git remote add origin +‘远程仓库地址’
删除关联远程仓库: git remote rm origin

本地仓库提交到远程仓库流程:
1.在桌面建立一个文件夹,将要提交的代码放在文件中
2.使用git init 命令 初始化文件(目的是创建一个.git文件夹)
3.使用git add +‘文件名’
4.使用git commit -m '描述语’将代码提交到本地仓库
5.用ssh功能使本地仓库和远程仓库建立连接
1>使用ssh-keygen -t rsa -C ‘自己邮箱名字’(此命令执行完会在C:/Users/liulin/下面生成一个.ssh文件名)
2>.ssh文件下有两个文件 id_rsa:私钥 和 id_rsa.pub:公钥
3>进入github–>settings–>SSH and GPG keys 中添加公钥密码
4>使用 git remote add origin ‘自己仓库下的ssh连接’(说明:此命令是关联远程仓库)
5>特别注意:如果在建立远程仓库时带有 README.MD文件时,必须先把它从远程仓库中拉到本地仓库中才可以完成后面的从本地仓库文件上传到远程仓库操作
6.上面第五步使用 git pull --rebase origin master 将 README.MD文件拉到本地仓库中
7.最后再使用 git push -u origin master 命令将本地仓库文件上传到远程仓库

.gitignore:表示忽略文件(在里面写上文件的名字和后缀)

分支管理:1.作用:假设你准备开发一个新功能,但是需要两周才能完成,第一周写了50%,如果立即提交,
由于代码还没有写完,不完整的代码会导致别人不能干活了,如果等代码全部写完再一次提交
,又会存在丢失每天进度的巨大风险。有了分支,可以避免上述问题,创建一个属于自己的分支,
别人看不到,还继续在原来的分支上正常工作,而我们在自己的分支上干活,想提交就提交,直到
开发完毕后,再一次合并到原来的分支上,这样,即安全,又不影响别人工作
2.特点:git 的分支是与众不同的,无论创建,切换和删除分支,git在非常短的时间内
就能完成,无论版本库是一个文件还是一万个文件

	 master分支:在版本回退中,每次提交,git都会把它们串成一条时间线,在git里,这个分支叫主分支,即
	 master分支,HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是
	 当前分支。

创建分支:git branch 分支名
切换分支:git checko
创建与切换同时进行: git checkout -b 分支名
合并分支:git merge ‘表示要git合并的分支名’
合并分支:注意要在主分支上面合并其它分支,git merge ‘表示要git合并的分支名’
在远程仓库上面创建分支:git push --set-upstream origin 分支名

删除分支:git branch -d 分支名
删除远程分支: git push origin :分支名
git push origin --delete 分支名
git log --graph 查看分支合并图

分支策略:master分支应该是非常稳定的,依旧是仅用来发布新版本,平时不能上面干活
干活都在dev分支上,也就是dev分支是不稳定的,到某个时候,比如1.0版本时,
再把dev分支合并到master上,在master分支发布1.0版本时,
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就行了

标签管理:意义:发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定
了打标签时刻的版,将来无论什么时候,取某个标签的版本,就是把那个打标签的
时刻的历史版本取出来,所以,标签也是版本的一个快照

	代码: git tag 标签名   :打标签
		  git tag  标签名 commitid   :指定commd id 打标签
		  git tag -a 标签名 -m '标签信息' :指定标签信息
		  git checkout 标签名   :切换到指定标签
		  git show 标签名  : 查看说明文字
		  git tag -d 标签名 : 删除标签
		  git push origin	: 推送标签到远程
		  git push origin --tags :一次性推送全部尚未推送到远程的本地标签
		  删除已经推送到远程的标签: 1.先从本地仓库删除   git tag -d  标签名
		  						   2. 再从远程仓库删除  git push origin :refs/tages/标签名
发布了13 篇原创文章 · 获赞 3 · 访问量 4235

猜你喜欢

转载自blog.csdn.net/qq_43320461/article/details/88828904