美文网首页程序员
Git会这些就够了

Git会这些就够了

作者: CN__烟雨任平生 | 来源:发表于2018-01-31 13:34 被阅读0次

    Git是什么

    分布式版本控制工具

    2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。

    Git安装配置

    1. 要想使用git首先就要安装git。

    下载电脑系统对应的git版本

    next...安装完毕之后,右键

    即可进入git的命令行工具。

    接下来就是要配置SSH公钥私钥,然后绑定你的gitHub账号。

    a、设置用户名:git  config -- global  "user.name"  ;//你再github上注册的用户名,注意一定要双引号

    b、设置用户邮箱:git  config -- global  "user.email" ;// '注册时候的邮箱'

    c、生成密匙: ssh-keygen -t rsa -C"user.name"

    d、添加密匙到ssh-agent:ssh-add ~/.ssh/id_rsa

    e、登陆Github, 添加 ssh 。

    把id_rsa.pub文件里的内容复制setting里

    f、测试

    输入 ssh -T git@github.com

    你将会看到

    The authenticityofhost'github.com (207.97.227.239)' can't be established.RSAkeyfingerprintis16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.Are you sure you wanttocontinueconnecting (yes/no)?

    选择yes,如果看到你的用户名就说明成功了。

    git使用

    在gitHub上创建一个新的仓库然后clone到本地

    git clone git@github.com:NbZzp/test1.git

    即可将你的仓库拷到本地。本地仓库文件夹里会有一个隐藏的.git文件,千万千万不要删除。这里面会记录仓库的一些信息,就是他的存在这才成了一个git仓库。  同时在上面克隆的时候 空格 + name 可以自定义你克隆的文件名。

    git略懂

    这是git工作的原理图

    remote是远程的线上仓库

    repository是本地仓库,本地仓库和远程仓库会有对应,但不一定全有

    idnex是暂存区

    workspace工作区

    好空洞啊!怎么理解呢?可以这样理解。吧git的工作流程理解成发快递。

    工作区,也就是我们敲代码的地方,可以理解成,我们准备快递的地方,我们要在快递箱子里装什么东西。

    git add 是吧我们写好的代码也就是准备好的快递放到暂存区,也就是快递点,为什么要有暂存区呢?那你说为什么要有快递点呢?快递点就是把你的快递先放在这里,等快递攒够一定的数量,在一起发货,难不成有个人送过去一个快递,快递公司就给你着一辆车送过去?不存在的!

    git commit 就是吧暂存区的快递发到本地仓库,也就是吧快递点的快递送到你们省的总仓库。当然了,送到总仓库对方就能收到件吗?你想啥呢!快递速度要上天啊!

    git push 就是吧本地仓库的快递发出去,也就是本地仓库的代码传到线上仓库。

    git常用命令

    git的基本使用是这样的

    1,git clone 获取仓库

    2,git add . 将所有修改上传到暂存区

    3,git commit -m '备注' 将暂存区文件上传到本地仓库 

    4,git push 将本地仓库代码推到线上

    使用过程中还可以用:

    git status 查看暂存区文件

    什么?status这些命令太长记不住?

    git config --globalalias.st status 修改别名,将status简写为st,同理可修改其他命令。

    git branch 查看本地仓库信息  -a 查看所有

    git remote -v 查看远程仓库信息

    git log 查看日志

    wq可以恢复正常操作

    git reset --hard 09a34f3回滚写前几位即可

    git push –f 强制推送到远程    不推荐

    git diff 查看区别  空格分支名 空格分支名比较两个分支 远程分支

    $ git diff test origin/test

    git分支

    在多人的项目开发中,还要涉及到分支。

    Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷。 与许多其它版本控制系统不同,Git 鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多次。 理解和精通这一特性,你便会意识到 Git 是如此的强大而又独特,并且从此真正改变你的开发方式。

    gei分支并不是新建了一份文件,而是保存了一些文件快照。

    分支的切换,更新等,也只是HEAD指针的来回切换

    一般在项目中我们的master分支会作为线上稳定版主分支,还有dev测试分支等。

    多分支的时候,每次上传前记得先git pull (pull其实就相当于fetch + merge)

    git merge 分支名 ,可以将该分支可并到当前分支,

    在merge(pull包含merge)的时候,如果两个人同时改了同一个文件,就会产生冲突。只需手动在代码里解决一下冲突即可。非常推荐vscode,开源免费,功能齐全又轻量,界面美观。

    在github上可以在这里添加协作者。

    git branch test   新建本地分支test

    git push origin test  新建本地分支之后,远程分支是没有的,需要将本地分支推到远程

    git checkout test 切换到test

    git branch -dtest  删除本地分支test,远程分支还在。

    更多详细的命令,不再一一列举,这就是我对git的一些粗浅的理解。希望大家都能互相学习,多多指教。

    想更加深入了解,这里有git中文官方文档

    喜欢的老铁双击一波666

    相关文章

      网友评论

        本文标题:Git会这些就够了

        本文链接:https://www.haomeiwen.com/subject/whdigxtx.html