从 0 开始学习 Git 与 GitHub

从 0 开始学习 Git 与 GitHub

这篇我就不自己写了,在学习 Git 与 GitHub 的时候发现了几个篇文章,真的写的很好,在这里推荐给大家。

如果是初学者的话,你们应该对 Git 和 GitHub 之间的关系很模糊吧!据初学者的了解,Git 就是托管代码的,甚至有的还不知道 Git 是干什么的。那 GItHub 呢?学习开源项目的?是的,没错,他们是可以这样用,但是觉得你们对 Git 与 GitHub 的认识还不够全面!

现在介绍两篇文章,带你全面认识一下 Git 与 GitHub 以及他们之间的关系。

初识 GitHub

加入 GitHub

看你这两篇应该对 Git 和 GItHub 有了基本的认识了吧!

好了,我们知道了 GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以现在的教程就来说说 Git

关系 Git,我也推荐一个写的很好的 Git 教程个人网站,通俗易懂!

Git 教程

PS:建议跟着教程学习 Git 的时候,每看完一小节或者一章自己操作一下。很多时候你看着似乎明白了,但如果需要你操作话,这知识点忘了那个命令也忘了,无从下手!

我刚开始学习 Java 和 JS 或者一些工具的时候,在看视频教程或者书籍时觉得看明白了,以为自己懂了,到时候要自己使用应该可以写出来。原来这一切都是我以为!真正要我写的时候,很多都忘了,自己又没有做笔记,查看原视频教程或者书籍又麻烦,真的无从下手,真人真事!

实践很重要,真的,相信我!

有点啰嗦了。

ok,有了上面的基础,再来介绍一下 GitHub 上的一些常见操作。

GitHub 常见的几种操作

可能有人问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作以及之后的学习,怎么提升我的工作效率?

问到点子上了,GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目。那么如何发现优秀的开源项目呢?

如何发现优秀的开源项目

希望我推荐的学习 Git 以及 GitHub 的教程和文章对你们有帮助,不谢!

最后,分享一下我学习过程中记录的 git 命令:

git init 初始化仓库
git add  添加到暂存区
git commit -m "message" 提及暂存区的文件
git status 查看状态

git log--pretty=oneline 日记信息
git log -1 显示最后一次提交信息
git reflog 查看命令历史

git reset --hard HEAD^ 回退版本
git reset --hard commit_id 回退指定 commit_id 的版本
git checkout --   可以丢弃工作区的修改
git reset HEAD  可以把暂存区的修改撤销掉(unstage)

git rm file 用于删除一个文件,回复文件用 git checkout -- file
git diff HEAD --  查看工作区和版本库里面最新版本的区别

git remote add origin git@... 与本地仓库连接
git clone git@ 克隆一个到本地库

git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改
git pull origin  同步远程库,可能发生冲突
git branch --set-upstream-to  origin/。如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用该命令即可。该命令一般用于第一次pull

git checkout -b 创建并切换到该分支
git branch 命令查看当前分支
git branch 创建分支
git checkout 切换分支
git merge  合并某分支到当前分支
git branch -d 删除分支
git branch -d b  
git branch -D  强行删除指定分支。
git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支
git merge --no-ff -m "message" dev 准备合并dev分支,禁用Fast forward模式,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
git log --graph 可以看到分支合并图
git rebase 把本地未push的分叉提交历史整理成直线;
git log --graph --pretty=oneline --abbrev-commit 查看分支历史

git stash 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash apply 恢复stash 
git stash drop  删除stash 
git stash pop   恢复的同时把stash内容也删了

git remote -v 显示远程仓库的详细信息

git tag  新建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a  -m "blablabla..."可以指定标签信息;
git tag 可以查看所有标签。ps:标签总是和某个commit挂钩
git push origin 可以推送一个本地标签
git push origin --tags可以推送全部未推送过的本地标签;
git tag -d 可以删除一个本地标签;
git push origin :refs/tags/可以删除一个远程标签

git config --global color.ui true 输出看起来更醒目
git config --global alias.st status 设置别名
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"

PS:转载某些大 V 文章时记得备注出处!

你可能感兴趣的:(Git,GitHub,Git)