从 0 开始学习 Git 与 GitHub
这篇我就不自己写了,在学习 Git 与 GitHub 的时候发现了几个篇文章,真的写的很好,在这里推荐给大家。
如果是初学者的话,你们应该对 Git 和 GitHub 之间的关系很模糊吧!据初学者的了解,Git 就是托管代码的,甚至有的还不知道 Git 是干什么的。那 GItHub 呢?学习开源项目的?是的,没错,他们是可以这样用,但是觉得你们对 Git 与 GitHub 的认识还不够全面!
现在介绍两篇文章,带你全面认识一下 Git 与 GitHub 以及他们之间的关系。
看你这两篇应该对 Git 和 GItHub 有了基本的认识了吧!
好了,我们知道了 GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以现在的教程就来说说 Git
关系 Git,我也推荐一个写的很好的 Git 教程个人网站,通俗易懂!
PS:建议跟着教程学习 Git 的时候,每看完一小节或者一章自己操作一下。很多时候你看着似乎明白了,但如果需要你操作话,这知识点忘了那个命令也忘了,无从下手!
我刚开始学习 Java 和 JS 或者一些工具的时候,在看视频教程或者书籍时觉得看明白了,以为自己懂了,到时候要自己使用应该可以写出来。原来这一切都是我以为!真正要我写的时候,很多都忘了,自己又没有做笔记,查看原视频教程或者书籍又麻烦,真的无从下手,真人真事!
实践很重要,真的,相信我!
有点啰嗦了。
ok,有了上面的基础,再来介绍一下 GitHub 上的一些常见操作。
可能有人问了,GitHub 我大概了解了,Git 也差不多会使用了,但是还是搞不清 GitHub 如何帮助我的工作以及之后的学习,怎么提升我的工作效率?
问到点子上了,GitHub 其中一个最重要的作用就是发现全世界最优秀的开源项目。那么如何发现优秀的开源项目呢?
希望我推荐的学习 Git 以及 GitHub 的教程和文章对你们有帮助,不谢!
最后,分享一下我学习过程中记录的 git 命令:
git init 初始化仓库
git add <filename> 添加到暂存区
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 -- <file> 可以丢弃工作区的修改
git reset HEAD <file> 可以把暂存区的修改撤销掉(unstage)
git rm file 用于删除一个文件,回复文件用 git checkout -- file
git diff HEAD -- <file> 查看工作区和版本库里面最新版本的区别
git remote add origin git@... 与本地仓库连接
git clone git@ 克隆一个到本地库
git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改
git pull origin <name> 同步远程库,可能发生冲突
git branch --set-upstream-to <branch-name> origin/<branch-name>。如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用该命令即可。该命令一般用于第一次pull
git checkout -b <name>创建并切换到该分支
git branch 命令查看当前分支
git branch <name>创建分支
git checkout <name>切换分支
git merge <name> 合并某分支到当前分支
git branch -d <name>删除分支
git branch -d b <name>
git branch -D <name> 强行删除指定分支。
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 <tagname> 新建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag 可以查看所有标签。ps:标签总是和某个commit挂钩
git push origin <tagname>可以推送一个本地标签
git push origin --tags可以推送全部未推送过的本地标签;
git tag -d <tagname>可以删除一个本地标签;
git push origin :refs/tags/<tagname>可以删除一个远程标签
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 文章时记得备注出处!