github拉取和推送

2022-10-21,

登入github
创建一个开源项目
然后打开安装好的git
首先进入一个指定的文件夹
例如:
1)E:\>cd miaov/testGit
回车 进入E盘的testGit文件夹
2)E:\miaov\testGit>git clone url
这里的url就是github里创建的项目路径复制过来
然后回车,就把项目克隆到本地了
3)设置贡献者
E:\miaov\testGit>cd drag
进入该项目
E:\miaov\testGit\drag[master]>git config --globle user.name "自己的用户名"
E:\miaov\testGit\drag[master]>git config --globle user.name "自己的邮箱"
如果要查看自己的用户名或者是邮箱
E:\miaov\testGit\drag[master]>git config --globle user.name
回车就可以查看了
E:\miaov\testGit\drag[master]>git config --list
回车就可以查看所有的信息

git三个区
工作区
暂存区
类似于过渡的作用
避免误操作
保护工作区和版本区
版本区 master(主线)

git status //查看状态
git add demo1.html //添加到暂存区

[master +2 ~0 -0!]
如果红色说明在工作区有2个新的文件,0个修改的文件,删除的文件0个
[master +2 ~0 -0 | +1 ~0 -0!]
如果为绿色说明是在暂存区,相应的数字表达的意思一样

看不到红色说明工作区的文件没有修改,或者都上传到暂存区了

git commit //此时会弹出文本编辑器,要对上传版本区的修改进行备注
git
git add . //提交全部文件到暂存区

git commit -m 'change demo1'
//直接备注提交到版本区

git commit -a -m 'change drag.js'
//跳过暂存区,直接提交到版本区

git log //查看版本

对比操作:
git diff //查看修改的内容,工作区和暂存区的差异对比

git diff --cached(--staged) //暂存区和版本区的对比

git diff master //工作区和版本区的对比

撤销操作:
git reset HEAD <file.name> //那工作区的修改过的文件撤销会没改之前

git checkout //工作区修改的文件撤销回没有修改的状态,先还原暂存区,要是没暂存区就直接还原版本区

git commit --amend //取消错误的提交

删除操作:
git rm test.txt //删除暂存区文件,只有工作区的删除了,暂存区的才能删除

git rm -f test.txt //同时删除暂存区和工作区的文件

git rm --cached test.txt //只把暂存区的文件删除

恢复操作:
git checkout commit_id <filename> //
恢复文件

git reset --hard commit_id //恢复整个版本

git reset --hard HEAD^ //恢复上一个版本

git reset --head HEAD~num //恢复某一个版本

git reflog //可以查看所有分支的所有操作记录,包括删除的的记录, git log 则不能查看已经删除的commit记录

同步到远程仓库:
确认一下图形化界面的设置里的option信息

git remote origin //

git remote -v //查看远程的仓库

git push origin master

添加协助人员:
在官网里+号里点击new Collaborators,添加分支成员
git clone <url>

多人协作解决冲突
git fetch
拉取远程仓库并不合并
git diff master origin/master

git merge origin/master
git pull
拉取远程仓库并且合并
注意:这里涉及到一个版本问题,如果远端的版本高于你提交的版本的话,就会产生冲突,这时我们可以在拉取时对比版本差别决定用哪个版本,一般先拉取再合并的话就可以减少冲突

开源项目协助:
fork 打开github网页选择我们想要参与的项目,点击fork,这时便会镜像该项目

克隆这个项目,修改一些文件,提交到远端

点击pull request,点击create pull request 提交给那个项目的用户

git分支管理:
git branch //查看分支
git branch new1 //创建new1的分支
git checkout new1 //切换至new1分支
git checkout -b new2 //创建一个new2的分支,并且切换至new2分支

git merge new1 //把master和new1合并

git branch --merge //查看所master合并的分支
git branch --no-merge //查看没有合并的分支
git branch -d new1 //删除合并了的分支
git branch -D new2 //删除没有合并分支

注意:这里冲突时候要手动修改冲突

github上的分支:
git push origin new1 //将分支推送到远程仓库

在github上创建分支,点击branch master,创建master的分支
如果选择new1则是在master上创建分支
git tag //查看标签
git tag v1.0 //设置标签

github上按钮的作用
watch关注人数
fork有多少人分支
unstar点赞的人数

在github上创建组织项目
new organization

创建博客:
在github上创建自己的博客

1)创建仓库
起的名字要是llcMite.github.io
这种格式

如何深入?偏工具,功能性的,没有什么逻辑,最好的方法就是实战

技巧
cd..返回上一层文件夹
cd 打开文件
ls 查看目录
mkdir <dirname> 创建文件夹
notepad++ note.txt 使用编辑器是创建文件
如果输入命令的时候忘记可以使用tab键可以补全

git书本 git.oschina.net/progit

github拉取和推送的相关教程结束。

《github拉取和推送.doc》

下载本文的Word格式文档,以方便收藏与打印。