史上最简单的git和github快速入门简明教程

  • A+
所属分类:学无止境

git可谓是一个代码版本管理的神器,相比于svn它有很多好用的功能,很多入门的新手总是不能快速理解或者是总把git和github混为一谈,其实简单的说github就是使用git技术做的一个开源的git仓库,所以每个人都是可以使用github来创建仓库来托管或者保存我们的代码,当然也可以自己搭建git仓库,下面使用最简单的语言和代码实现一个git连接github并将本地github仓库代码上传到github上的一个实战,实现git的快速入门,注意一下代码只是一个入门教程,更多的git细节使用情况请参考其他的教程或者文档,也就是学习完下面的教程其实就完全可以快速入门git啦,有问题的欢迎交流

1、版本库的创建

初始化一个git仓库

git init

将文件添加到暂存区

git add xxx.txt

将文件提交到git仓库

git commit -m "some text"

2、连接github远程仓库

学习了以上的初始化、提交到暂存区、提交到本地git仓库这个最简单的命令后就可以继续连接远程的git仓库,这里以github为例进行说明,将本地的仓库的文件push到远程的github仓库中。

(1)、连接github的步骤: 本地生成SSH Key

ssh-keygen -t rsa -C "[email protected]"

生成后一般在用户主目录找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,前者是私钥,后者是公钥然后去github的SSH Keys页面输入自己的公钥内容即可。

关联本地的仓库和github上的一个远程仓库

git remote add origin [email protected]:xiaoming0827/XXX.git

下一步就可以把本地仓库的所有内容推送到远程仓库上

git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

以后本地提交只通过push就好

git push origin master

完成以上步骤一个最基本最简单的git提交流程及连接远程仓库提交的流程就完成了,可以说此时我们即可以通过本地git命令提交文件到一个本地的git仓库和远程仓库,但是这只是git中最基本最基本的一些操作,只能算一个简单的git快速入门教程。

3、分支管理

创建名叫dev的新分支并切换到新分支上

git chechout -b dev

-b参数表示创建并切换,相当于两条命令:

git branch dev 
git checkout dev

把dev分支的内容合并到master分支上:

git merge dev

合并完成后可以选择删除改分支:

git branch -d dev

查看分支的合并情况:

git log --graph --pretty=oneline --abbrev-commit

使用--no-ff来使用普通模式合并,这样的合并后可以有历史分支和记录

git merge --no-ff -m "merge with no-ff" dev

使用stash功能将总做现场保存起来,可以创建新分支先做其他工作,等完成后在回复未完成的工作现场

储藏:

git stash

查看储藏:

git stash list

恢复:

git stash apply//恢复不删除
git stash drop //删除
git stash pop //恢复并删除

丢弃一个没有被合并过的分支:

git branch -D  //强力删除

4、版本的对比回滚

查看当前的提交状态,该命令可以显示当前仓库的状态

git status

对比已保存但是还没add到缓存区的代码即还没提交的修改

git diff

对比已经缓存起来文件和上次提交时的快照之间的差异

git diff --cached
git diff --staged

对比工作区和HEAD的区别

git diff HEAD

查看提交记录

git log

可以使用--pretty=oneline参数将日志美观的简要的显示为每条一行

git log --pretty=oneline

在git中HEAD表示当前的版本,上一个版本就是HEAD^,上上版本就是HEAD ^^,版本也可以使用版本的SHA1值来表示

回退上一版本

git reset --hard HEAD^
//或者
git reset --hard 3628164//版本号

可以把暂存区的修改撤销掉(unstage),重新放回工作区

git reset HEAD readme.txt

查看每一次输入命令的记录

git reflog

撤消修改 一种是修改后还没放到暂存区,撤消后就回到和版本库一模一样的状态 一种是已经添加到暂存区,又做了修改,撤消的修改就回到了添加缓存区的状态

git checkout

总结撤消的方法:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时

git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

删除文件

git rm

如果确实想删除使用commit提交到仓库 如果误删除则使用git checkout还原

总结:

以上只是一些常见的git命令,但是如果想熟练的使用git进行版本的管理和团队的合作,还需要深入理解git的工作原理如分支之间的联系等等问题,本文只是一个简单的git入门教程,有任何学习问题可以联系交流,不足之处欢迎提出意见和建议。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: