git简介
git是一个分布式版本控制系统,分布式的意思简单来说大家可以在自己本地仓库各自操作。
coding是一个国内的代码托管平台,相似的还有码云。使用不同的平台时也可以在相应的平台查看帮助。
git与coding配合可以实现代码的云端保存,成员之间的高效合作,可以创建不同的分支来进行不同模块的开发,将自己的代码更新到云端或者在云端下载他人更新的最新版本,也可以使用版本回退等功能控制版本。本文的一些命令以coding平台的操作为例。
本文是git超简易使用教程,初次使用者先按步骤完成“git初始化与远程关联部分”,然后根据自己的身份(创建者或成员)使用push命令将自己的代码推向云端或者使用pull命令将云端的代码拉向本地,再进行之后的开发。
如果需要更详细的git教程,可以查看git的官方文档(有中文的)
https://git-scm.com/book/zh/v2
也可以查看廖雪峰的git教程
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
git初始化与远程关联
使用git
新建立一个文件夹,在文件夹中点击右键,选择Git Bash Here
初始化本地仓库
git init
将当前的文件夹作为Git工作区,并且建立Git版本库(请不要修改或删除.git文件夹里面的内容),这时候会创建一个主分支
配置SSH Key
配置ssh key是为了和远程仓库建立联系
$ ssh-keygen -t rsa -C <邮箱>
把最后的<邮箱>换成自己的邮箱,回车执行命令后会叫选择一个文件夹来放公钥,可以直接回车选择默认的
然后打开C盘,将用户主目录下的.ssh文件夹中id_rsa.pub中的内容复制出来
然后打开coding的页面,账户->SSH公钥->将刚才复制的内容粘贴到公钥内容中,点击添加按钮
$ ssh -T git@git.coding.net
yes
然后会出现什么什么successfully的字样,这个命令是完成首次链接信任主机
关联远程仓库
git remote add <远端仓库名> <远端仓库地址>
中间的远端仓库名是你在本地给远程仓库取个代号,因为可以关联多个远程仓库,所以代号用来区分,一般写为origin,后面的地址就是coding云端仓库的地址,最好用SSH方式(前边的SSH公钥配置就是为了这个)
git remote
查看自己关联的远程仓库
git remote -v
查看自己关联的远程仓库以及权限
git获取远端更新
将远端的项目克隆到本地
git clone <地址>
会将远端仓库的内容复制到本地,但是会在所有文件及文件夹的最外面设置一个文件夹,名字为远端的项目名,第一次从远端获取项目更推荐使用下面的pull命令
将远端的项目pull到本地
git pull <远端仓库名> <远端分支名>:<本地分支名>
取回远程主机某个分支的更新,再与本地的指定分支合并,第一次从远端获取项目也可以用这个,或者在远端有了更新时,可以用此操作来更新本地的分支
当远端分支和本地分支名相同时,可以写成下面这样
git pull <远端仓库名> <分支名>
使用fetch+merge获取远端更新
git fetch <远端仓库名> <远端分支名>
先获取远端更新
git diff <本地分支名> <远端仓库名>/<远端分支名>
将获取的更新与本地分支进行比较
git merge <远端仓库名>/<远端分支名>
再将远端更新与本地当前分支合并
git提交修改
将工作区的修改add到暂存区
git add <文件或文件夹的名字>
也可以直接使用以下命令add全部修改
git add .
此写法是在add后面空一格然后打一个点
查看status
git status
git status命令可以列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件
提交修改到仓库
git commit -m "引号中是此次提交修改的简单介绍"
将本地的项目push到远端
git push <远端仓库名> <本地分支名>:<远端分支名>
将本地的某个分支推到远端,当远端没有这个分支时,会被创建
当远端分支和本地分支名相同时,可以写成下面这样
git push <远端仓库名> <分支名>
git分支管理
创建新的分支
git branch <分支名>
创建一个新的分支,注意并不会切换到这个分支
查看已有的分支
git branch
上面这行命令是查看本地的分支
git branch -a
查看所有分支,其中绿色的是当前分支,白色的是本地分支,红色的是远端的
切换分支
git checkout <分支名>
切换到另一个分支上进行操作
删除分支
git branch -d <分支名>
合并分支
git merge <另一个分支名>
将另一个分支和当前分支合并
git版本控制
显示提交日志
git log
显示每次的提交记录,按Q可以退出,上下键翻页(记录太多的话)
版本回退
git reset --hard <某个版本号>
回退到某个版本,版本号在git log中查看
回退反悔
当回退到某个版本,然而又反悔了,想要回到未来的版本时
先使用git reflog查看之前的命令记录,然后找到对应commit记录前面的序号
然后git reset --hard 记录前面的序号就可以回退到未来的版本了
最后
其实这篇文章是去年项目用git时做的笔记,同时也分享给组员,让大家快速上手。没相到这个暑假实习又用到它了,就把它整理出来。
当然它也仅仅适用于快速上手,想要用好git,特别是版本控制和分支管理的部分,还是得去看更高级的教程。
如果这篇文章能帮到你的话,我也会感到很高兴的。