项目正在如火如荼的开展,代码量的繁多不得不令我们运用 git 这个有用的工具去管理我们共同协作的代码
git 在这里不作什么介绍了,百度一大堆的教程
首推廖雪峰老师的:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
还有一篇我觉得写得不错的教程:http://blog.jobbole.com/78960/
好了,用了一天的git 记录一下自己觉得比较常用的命令语句:
-------------- 必备命令 ----------------
1、安装完 git 后第一步需要声明你自己的身份
//设置本地用户名
git config --global user.name "Your Name"
//设置本地邮箱
git config --global user.email email@example.com
//配置本地公钥 后面提示一直回车
ssh-keygen -t rsa -C "youremail@example.com" 邮箱改成自己的
完成后生产公钥 会提示在那个文件夹 把那个文件夹下后缀pub的文件打开
(密钥的路径默认保存在git 窗口上方的路径提示文字那里)
------------ 开始部署本地仓库 ----------------
1、首先你要在github 上创建一个仓库(不作详细介绍)
2、创建完后,按下自己的头像,点击 settings
2.1、点击左侧边栏的 ssh and GPG keys,右边有new ssh key,把后缀名为pub 的ssh 文件全部复制 然后粘贴到 key 输入框中,title 为任意填写
3、在 git 控制台中创建一个本地仓库(就是一个文件夹而已)
3.1、通过 cd 命令进入到你想指定本地仓库的磁盘
3.2、通过 mkdir 命令在指定磁盘目录下创建一个本地仓库,命令为: mkdir 仓库名
4、创建完成后,使用git init 初始化刚刚创建完的本地仓库
5、使用 git remote add origin <github 远程仓库地址> 添加github 远程仓库
6、使用 git pull origin <分支名> 拉取分支
默认情况下 当进行完第5 步的时候,本地仓库就只有一个分支 master或者其他主分支,而主分支以外的分支是不会被拉取的,所以要单独运行这个命令 获取并未合并的次分支
注:分支是什么,这里不作介绍,本文顶部的文章链接会有解释
7、拉取完次分支后便可以在工作区修改你的代码,修改完代码之后使用:git add <文件名> 添加到本地仓库的暂存区
8、使用 git commit -m “版本描述” 把暂存区的文件上传到版本区
9、做完这些之后可以将此分支同步到远程库,使用 git push <分支名>
---------------- 从远程仓库更新本地仓库 --------------
首先,从远程仓库更新本地代码的方式是首先要获取最新的版本,然后将本地仓库的版本和远程仓库的版本进行何必并具体操作如下
1、获取最新的版本
git fetch <远程版本库名> <分支名>
2、将本地的版本和远程版本合并
git merge <远程主机名> <分支名>
上面的两个步骤可以整理为一个操作:
git pull <远程主机名> <分支名>
---------------- 说说 2017-05-09 发生的事情 -------------------
今天在更新项目的文件的时候忘记先同步远程仓库的版本再提交自己的修改了,导致有一些同名的修改文件发生冲突,于是解决办法是这样的
(博主在运行git bash 的时候查了一下本地仓库的状态 git status,发现有一大堆文件没有从远程仓库更新 以及还有一个文件没有 add 和 commit)
于是我先把未被 add 和 commit 的文件分别进行 add 和 commit 操作,之后再通过 git pull origin dev 把远程仓库的版本更新整合到本地,于是问题解决了
至于那个为被push 的文件,博主转用 github desktop 客户端push 上去了(毕竟图形化的工具个人还是比较喜欢的)
。。。持续更新 2017-05-09
------------------------------------ 更新于 2018-03-17 -----------------------------------
一年了...
遇到了这样一个问题,想把本地仓库推到远程仓库上,于是在 github 上面建了一个仓库,但是当我在本地 使用 git pull origin master 的时候出现了如下警告:
fetal: refusing to merge unrelated histories
无法合并不相关的历史记录于是百度一下发现可以用这个语句解决
git pull origin master --allow-unrelated-histories
原文地址:http://blog.csdn.net/byoooy/article/details/52263404
----------------------------------------- 更新于 2018-05-07 -----------------------------------------
今天遇到了一个新问题
项目中有些文件想让git 提交的时候忽略掉 于是在 gitignore 文件中设置忽略文件的路径
但是 保存修改后发现需要被忽略的文件还是会放到暂存区里面
百度了一下原来是git 缓存的缘故 于是我们可以使用下面的命令清理一下git 的缓存
git rm --cached . 或者 git rm --cached 特定文件的路径
之后我们便可以发现被指定忽略的文件已经不再在暂存区了