Github 学习总结

概念理解

Repository

顾名思义仓库,一个项目就是一个仓库,在GitHub上面也能通过全局搜索搜到一堆有趣的仓库

init

在创建GitHub仓库的时候有个 Initial的选项,就是生成一个空仓库,然后将你的Description 生成为一个readme.md的文件

工作区

我们修改代码这些的文件,也可以理解成现有的文件,都是我们正常工作时修改用到的,属于工作区

暂存区(缓存区)

在我们修改完文件之后,使用git add命令提交到的区域就是缓存区,缓存区里面就是可以添加可以减少的一堆文件,不再修改之后使用git commit将文件都整合一下,提交到版本库里面

版本库

我们的每一次整合好了的修改就是一次commit ,commit弄完之后,我们就用git push将我们在本地上的改动部署到远程仓库中

分支(branch)

一个项目,不同的开发者可对应不同的版本,比如dev版,发行版,内测版等等,这些不同的版本就是一个个的分支(针对开发人员来说)

标签(tag)

和传统的标签意义不同,相当于发行给大众的版本号,生成一个标签命令执行后,会根据当前版本,把所有的代码打包成zip/tar.gz的格式统一发布出去

命令使用

git clone (-o 自定义主机名) + [仓库http地址] +(本地仓库名)进入仓库的HTTP网址,在本地将这个仓库里面的文件全部下载到本地磁盘里面,本地会生成一个同名文件夹,里面会有一个名为.git的隐藏文件夹,这个文件夹就是区分GitHub仓库和普通文件夹的地方 默认主机名是origin

git init 将当前目录初始化成为一个本地git仓库,不过没有指定到github服务器上,所以需要自己去搭建服务器

echo 'text' 表示在屏幕上显示一串字符

echo 'text' > [文件名] 新建一个文件,内容是text ,名字是刚刚输入的名字

echo 'text' >> [文件名] 在该文件后面提行,添加该text ,如果没有文件就新建一个文件

git status 查看当前git 状态,后面会被简写定义成git st

git add [文件名] 将改变过的文件添加到待提交的暂存区,也可以使用git add .来将所有改动过的文件一并提交到暂存区

git reset --[文件名]撤销刚才提交到暂存区的文件,或者是使用 git rm --cached [文件名]从缓存区中删去该文件(翻译问题,暂存区->缓存区)

git diff --cached 查看暂存区中的所有的文件修改情况

git commit (-m ['your commit in here']) 用于将暂存区的修改,整合成为一次commit ,一个新的整体改动

git log (--reverse逆序排列) 显示Git的版本区提交的历史记录

git branch -avv查看全部分支信息,到后面会用git br 来代替

git reset --soft HEAD^ 撤销最近的一次提交,将修改从版本区还原到暂存区,撤销两次就是git reset --soft HEAD^^,多次就是git reset --soft HEAD~n

git reflog 用于记录本地仓库的每一次版本变化

git reset --hard [版本号] 或者是 git reset --hard HEAD@{n}来回到第n次提交版本之前

git push (-f 强制提交) 用于将此次版本整合成为一个commit 提交

git config --global alias.[别名] [原命令] 用于设置命令别名,如git config --global alias.st statusgit config --global alias.br 'branch -avv' 设置好了之后就可以使用git config -l来查看自己定义的命令别名

git fetch 将远程仓库中的分支信息拉取到本地,之后可以使用git rebase origin/master 来根据信息来拉去分支文件,也可以使用git pull 直接拉取远程仓库中的文件

git branch [分支名] 创建新的分支,创建好了之后使用git checkout [分支名]来切换到新分支,默认主要分支是master,这个git checkout命令常用,别名设置为git ch;也可以使用git checkout -b [分支名]直接创建分支一步到位

git push [主机名] [本地分支名]:[远程分支名] 推送本地分支到远程仓库中,如果本地和远程分支名相同就可以省略:[远程分支名],如git push origin dev1 如果远程分支不存在就自动创建。

git branch -u [主机名] [本地分支名] 将本地分支与远程分支关联起来 如git branch -u origin/dev1而使用git push -u [主机名] [分支名] 就可以在上传的时候自动跟踪

git push [主机名] --delete [远程分支名] 删除远程分支,还有一个相同功能的命令,不过与前文极为相似,为避免混淆不计。git branch -D [分支名]删除本地分支,git branch -m [原分支名] [新分支名] 分支改名

git tag [标签名] -m [备注信息] [版本号] 创建标签,其中版本号可以省略,备注信息建议添加。git show [标签名]查看标签详细信息。git tag -d [标签名]删除本地标签。git push [主机名] [标签名]推送标签,或者是使用git push [主机名] --tags推送所有标签。git push origin :refs/tags/[标签名]删除远程仓库中的标签