程序员

Git会这些就够了

2018-01-31  本文已影响0人  CN__烟雨任平生

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

上一篇下一篇

猜你喜欢

热点阅读