安装客户端错误的小伙伴来:
1. 打开控制面板 Internet 选项“安全”选项卡“受信任的站点”点击“站点”按钮。
2. 弹出的窗口中的文本框中输入点击“添加” https://github-windows.s3.amazonaws.com/
3. 在 Internet Explorer 中打开 http://github-windows.s3.amazonaws.com/GitHub.application,即开始正常下载安装。
GitHub是一个托管网站,也就是一个存放代码的地方,但是怎么把代码弄上去呢?复制,粘贴? 肯定不是,这时候就要使用git这个版本工具了,当然git不是专门为这个网站设计的,而是网站使用了这个工具。
linux 下安装git:yum install git,下载完成后选择Y进行安装 <2>yes <3>git --help
注册github账号:通过github客户端进入github官网 进行注册,邮箱验证, 登陆账号;
Git是一个软件,是一个版本分布式管理工具。GitHub是一个网站,用来托管各种项目的,不花钱也能用,不过需要将自己的代码公开。就好像有一个舞台,不花钱向上也行就必须裸上,花点钱能有更多的服务想裸也行想穿衣服也行。Git和GitHub的关系,除了前三个字符一样,就是往GitHub这个往上托管代码、克隆代码都能使用Git这个工具,也能和GitHub上的一些人或者团队一起开发一个项目。
创建自己的项目
1、New repository。2、新建项目的页面中:项目名称repository name(不可用中文),描述Description(可用中文),他人是否可见(public/private),是否加载一个README(勾选的话创建)新建一个项目:1. 安装Git2. 创建仓库3. Fork仓库4. 一起协作
linux检出项目 mkdir test cd test git clone http://doubi.com.git git clone 项目地址 这是克隆一个项目
git常用命令
1:git clone——复制一个项目2:git status——查看项目的状态3:git add——将项目从工作区提交到暂存区4:git commit——将项目从暂存区提交到分支5:git reset——恢复某个提交6:git pull——拉取项目7:git push——推送项目8:git log——查看日志9:git --help——查看帮助(这个非常的重要,可以通过此命令学习许许多多的命令的使用方式)10:git --version——查看版本
Linux环境下第一次提交项目:
vi 日记 新增一个文件名为“日记”的文件git status 工作区的状态git add 日记 建立跟踪 git commit 提交变更
----------------------------------------
填写变更的评论,方便以后查看此次修改的目的。
i 插入
:wq 保存并退出
---------------------------------------
姓名和邮件地址基于登录名和主机名进行自动设置,可以检查它们正确与否;设置以免再次出现此类信息;
git config --global user.name "Your Name" Your Name改为自己的名字
git config --global user.email "[email protected]" [email protected]改为自己的邮箱
git commit --amend --reset-author修正本次提交所使用的身份
git push 输入github用户名和密码 git status 工作区的状态
## 向仓库中添加文件
// 新建文件 touch a1.php // 添加文件到暂存区 git add a1.php // 提交到本地仓库 git commit -m'提交文件到仓库'
// 提交到 GitHub git push
检出github项目到windows平台,当然前提是本机windows平台要装上windows班的github客户端。
1、登录自己的github的网页账户,找到自己要复制的项目,后面有个桌面状的按钮,点击,弹出提醒你保存的位置
2。保存好之后,本地就有了一个项目对应的影响,一般常见的操作就是下面的几个
增删查改本地项目里的文件 填写增删查改的原因 同步到github端
clone in desktop,检测本地的desktop客户端,将文件克隆到本地。
windows界面客户端,clone想要获取的项目,然后open in explore打开本地文件,添加文件或者修改文件,然后添加描述,进行commit,再进行同步将文件提交到github仓库 github 客户端下载,可以快速 commit 到 github 版本库上
解决冲突是发生在: 同一时间,同一块代码,大家都修改了,产生代码冲突。若是在A分支下面 push的时候圆写成了B分支 这种情况如何处理呢?
这一节的解决提交A和提交B的冲突,比较有用.
假设同一个F文件,被操作者A和B都修改了.
解决思路:
1. A先提交文件F,正常提交,无冲突问题.
2. B提交文件F时,报冲突.
3. B需要执行: git pull 操作,会自动将服务器端最新文件,合并到本地F.(该文件F中,同时保留2个不同的修改点)
4. B执行: git status 操作,显示冲突文件信息.
5. B执行: git diff 操作,显示文件F中的冲突点.
6. B执行: 用vi 打开 文件F, 查看到冲突处标记 <<<<>>>>,手动删减,保留需要确认的部分.
7. 到这里,B本机的文件F已经在同步服务器端最新的F基础上,做了修改,变成"更加新的文件F"(比服务器端还新).
8. 这样,再提交文件F.就不存在冲突问题.剩下的操作,就是正常的提交步骤.
9. git add XXXX
10. git commit "xxxxyww"
11. git push
12. 输入账号名,密码.
13. 这样,就将"更加新的文件F"上传到服务器端.解决冲突问题.
14. 这个冲突解决问题,实际上和其他版本管理工具,没有啥本质区别.
切换至A用户,再pull才能保持与远程一致
windows下冲突进行合并修改后再次提交
版本回滚操作步骤:
1. 命令: git log // 显示所有提交记录.2. 在所有提交记录中,选择需要回退到的commit ID(一个长字符串),复制.
3. 命令: git reset --hard XXYYZCCRERR // 最后一串是commit ID.完成回滚操作.4. 命令: git log // 显示新的提交记录.
这里 利用 git reset 命令,可以任意回滚到过去,同时也可以穿越到未来.很方便.(回到未来 (fast -forward)
git reflog查看该用户的所有操作git reset --hard commit id
建立里程碑,版本号
操作步骤:
1. 在github网站上.进入项目首页.
2. 横栏按钮(commits, branches, release等),找到release按钮.
3. 找到按钮:draft a new release,点击进入下一页面.
4. 填入版本号,以及说明信息.
5. 完成后,点击publish release,将软件发布出去.
6. 这样就完成里程碑建立,同时会自动生成zip下载链接.
里程碑 = 稳定版本号.
里程碑的含义是: 一个阶段比较稳定的版本,正式提交发布出去.提供zip下载.
分支开发,例子场景,已经发布了一个版本的代码,有bug,但是master主分支已经开发了新的未经测试的功能代码。
用分支解决bug 在github建立新的分支: 点击“+”,起名新的分支名称
使用merge功能将修改好的代码合并到新的开发中的项目中去:bug-->master-->merge 新建分支Master-->Manage-->+-->分支 合并到主干 Master-->Manage-->拖动-->bug>master-->Merge
http://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging
$ git checkout -b hotfix $ vim xxx $ git commit -a -m 'fixed in file xxx' $ git checkout master
$ git merge hotfix $ git branch -d hotfix
另一种分支方式,更适合开源软件
修改提交发布新分支 右键点击项目名称,view in github,点击按钮merge push request,commit
git的经验总结:
1:多用客户端和工具,少用命令行,除非你是在linux服务器上直接开放
2:每次提交前,一定git diff自己的代码,以免提交错误的代码
3:下班回家前,一定整理好自己的工作区,今日事今日毕
4:并行的项目,一定使用分支开发
5:遇到冲突的时候,一定搞明白冲突的原因,千万不要随意丢弃别人的代码
6:产品发布后,一定要打一个tag,方便将来拉分支修复bug
想提交的代码,测试 提交前先拉取一下最新的代码,若有问题解决掉,不清楚的代码不要动 提交时要写注释
每天写日志,这样每天的工作都是有据可查的,写日报、周报、年终总结、个人总结等都有帮助,任何事情是类似的,先弄明白需求,理清思路在动手,防止走弯路防止做错方向。