一,什么是Github,为什么使用它?
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。很多优秀的代码以及各种框架源码都存放于github当中!
今天,GitHub已是:一个拥有143万开发者的社区。其中不乏Linux发明者[Torvalds](https://github.com/torvalds "Torvalds")这样的顶级黑客,以及Rails创始人[DHH](https://github.com/dhh "DHH")这样的年轻极客。
在这个开源的时代,你可以通过这个平台看到世界上许多其他大佬的程序作品,并且学习他们的编程思想,而且这很容易获得。接下来让我们入门GitHub吧!
二,GitHub账号的注册与登录
1.首先我们来到Github官网进行账号注册:GitHub: Let’s build from here · GitHub
2.如果没有账号点击 sign up 进行注册账号(如果之前注册过账号的话就点击旁边的 sign in)
3、在光标处输入自己经常使用的邮箱,邮箱必须是可以收到邮件的。
(相对来说注册还是很简单的,只需要一个邮箱即可,邮箱一般写qq邮箱就可以了,以后忘记密码了,方便靠邮箱来找回密码。)
填写账号密码及相关信息(最下面填n就好了,是问你是否通过注册的电子邮件来接收产品更新和公告,之后会进行一些真人验证。并邮箱收到个验证码,输入验证码接下来一路无脑next操作你就完成了注册。)
4.到这个界面时,GitHub便创建好了。
5.登录进去之后,在这里我们可以创建一个自己的库。
需要注意的就是库分为两种,分为了公有的私有的,大家自行选择即可。填好信息后点击创建仓库即可。
在创建完成自己的库之后,下面就要让自己的电脑克隆一个自己所创建的库,方面自己电脑上的代码同步到GitHub你所创建的库当中。为了实现,就需要安装一个软件--Git Bash。接下来让我们安装Git Bash。
git bash是Windows下的命令行工具,主要用于git版本控制,上传下载项目代码。
三,gitbash安装详解
(git 下载地址:https://git-scm.com/)
在 Git 的官网中点击**Downloads**,进入如下页面:Git - Downloads (git-scm.com)
有Mac,Windows,Linux版本的,下载适合自己电脑的版本(默认是windows电脑配置来选的):
选择自己的操作系统下载即可:
注:Standalone Installer:独立安装程序(看需求选择,默认选择这个)
独立安装包在安装的时候会写入注册表 , 安装一些服务组件,此方法比较常用
Portable ("thumbdrive edition"):便携安装程序
便携安装程序针对对电脑非常熟悉的用户,针对有多台电脑的用户,可以在家里、公司、便携机的电脑上使用。
下载完成后双击打开安装包
默认安准一路 next 即可
如下图所示,这表示 Git 已经安装完成了,至于图中的两个选择,则分别表示 打开 Git Bash 和 浏览 Git 版本信息,可以都选,也可以都不选。
在这里,我们选择**Launch Git Bash**,进入如下界面:
四,git 常用命令
1.git安装后-指定名称和邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2.创建版本库
$ mkdir learngit //创建
$ cd learngit //使用
$ pwd //查看当前目录
$ git init //初始化,生成.git文件(若该文件隐藏,则使用ls -ah)
3.把文件添加add和提交commit到版本库
$ git add test.txt //添加
$ git commit -m "wrote a test file" //提交
$ git commit -m "add 3 files." //一次性提交多个文件
注意:必须在当前版本库和当前目录下
4.版本控制
$ git log //查看提交历史记录,从最近到最远,可以看到3次
$ git log --pretty=oneline //加参,简洁查看
$ git reflog //查看每一次修改历史
$ cat test.txt //查看文件内容
$ git status //查看工作区中文件当前状态
$ git reset --hard HEAD^(HEAD~100)(commit id) //回退版本
$ git checkout -- test.txt //丢弃工作区的修改,即撤销修改
$ git reset HEAD test.txt //丢弃暂存区的修改(若已提交,则回退)
5.删除文件
$ rm test.txt
//直接删除
$ git rm test.txt
$ git commit -m "remove test.txt"
//删错了,恢复
$ git checkout -- test.txt
6.远程仓库
$ ssh-keygen -t rsa -C "youremail@example.com" //创建SSH Key
$ git remote add origin git@github.com:Daisy/AKgit.git //关联
$ git push -u origin master //将本地内容推送到远程仓库(第一次)
$ git push origin master //将本地内容推送到远程仓库(之后)
$ git remote -v //查看远程仓库信息
$ git remote rm origin //删除远程仓库(解绑)
$ git clone git@github.com: Daisy/AKgit.git //克隆远程仓库
//克隆之后使用和查看
$ cd gitskills
$ ls
$ git remote //查看远程库的信息
$ git remote -v //查看远程库的详细信息
7.自定义git
$ git config --global color.ui true //让git显示颜色
//忽略特殊文件
//.gitignore文件
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa
//把该文件也提交到git
$ git add -f App.class //强制添加被忽略的特殊文件
$ git check-ignore -v App.class //检查哪个规则出错
# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class
# 不排除.gitignore和App.class:
!.gitignore
!App.class
$ git config --global alias.st status //配置别名
$ git config --global alias.unstage 'reset HEAD' //配置操作别名
$ git config --global alias.last 'log -1' //显示最后一次提交信息
$ git last //显示最近一次的提交
$git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" //颜色
$ cat .git/config //查看每个仓库的git配置文件
$ cat .gitconfig //查看当前用户的git配置文件
8.多人协作
$ git checkout -b dev //创建并切换到分支dev
//创建并切换到分支dev,同上
$ git branch dev //创建
$ git checkout dev //切换
//新版本
$ git switch -c dev //创建并切换到分支dev
$ git switch master //直接切换分支
$ git branch //查看当前分支
$ git merge dev (--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
$ git branch -d dev //删除dev分支
$ git stash //将现场储藏起来
$ git stash list //查看储存的工作现场
//恢复和删除
$ git stash apply
$ git stash drop
//恢复并删除
$ git stash pop
$ git cherry-pick 4c805e2 //复制修改
$ git push origin master(dev) //推送分支
$ git checkout -b dev origin/dev //创建远程origin的dev分支到本地
$ git pull //抓取分支(解决冲突)
$ git branch --set-upstream-to=origin/dev dev//指定本地与远程dev的链接
$ git rebase //把本地未push的分叉提交历史整理成直线
五,Git 和 GitHub 的绑定
1. 获取SSH keys
输入 cd ~/.ssh,返回"no such file or directory"表明电脑没有ssh key,需要创建ssh key。
然后输入 ssh-keygen -t rsa -C “git账号”(git 账号是刚才创建的账号)
输入之后一路(三次)Enter(确认)就可以了
以下截图就证明成功了,这个时候按照它给的打开以下地址:
按路径进入.ssh,里面存储的是两个ssh key的秘钥,
id\_rsa.pub文件里面存储的是公钥,id\_rsa文件里存储的是私钥,
打开id\_rsa.pub文件,复制里面的内容。
2.绑定ssh密钥
1. 接下来我们需要登录到我们的GitHub上边添加这个密匙
2. 随便填写名字以及刚才复制的公钥(id_rsa.pub内容),添加后配置完成
之后我们就添加成功啦
3.之后我们回到Git bash上边,输入:ssh -T git@github.com
来检查是否成功绑定。如果输入代码之后再选择yes出来是这样说明就成功了
接下来还需要简单的设置一些东西。
name最好和GitHub上边的一样,email是一定要是注册GitHub的那个邮箱地址
这两个的顺序可以颠倒,没有固定的顺序。
git config --global user.name “gitname”
git config --global user.email “git邮箱”
3.通过Git将代码提交到GitHub
我们需要先了解两个命令,也是我们在将来需要经常用到的两个命令,分别为push和pull。
push:该单词直译过来就是“推”的意思,如果我们本地的代码有了更新,为了保持本地与远程的代码同步,我们就需要把本地的代码推到远程的仓库,代码示例
git push origin master
pull:该单词直译过来就是“拉”的意思,如果我们远程仓库的代码有了更新,同样为了保持本地与远程的代码同步,我们就需要把远程的代码拉到本地,代码示例
git pull origin master
点进仓库之后点击Code,点击ssh会看到一串网址(http也可以),这个地址就是代码地址,git clone 命令会用的到。
选择文件存储地方,在本地电脑中找到存储文件的地方,然后右键选择Git Bash Here:
然后输入 git clone 地址(这个地址就是刚刚库那个Code的上代码地址)
过程需要输入账号和密码
2.提交测试代码
1.打开这个文件夹,然后在其中创建一个任意格式,任意名称的文件(这里新建了一个测试文件)。
命名为 text.tex
2.然后同样在这个文件夹里面右键git bash进命令行,git add我们新增的文件
f
3.之后输入然后git commit -m “测试是否成功” 引号内的内容可以随意改动,这个语句的意思是 给你刚刚上传的文件一个备注,方便查找记忆而已
git commit -m "测试是否成功"
4.接着输入push指令 git push origin main 下图就代表成功了
git push origin main
打开GitHub,看到刚刚上传的文件,说明操作成功。
这篇GitHub新手用法详解教程到这里就结束啦,如果有什么问题可以在评论区留言