码迷,mamicode.com
首页 > 其他好文 > 详细

github操作

时间:2017-08-07 20:38:06      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:xxxxx   stash   www.   集中   客户端   创建   oschina   行编辑   github   

Git,分布式版本控制系统

1. 版本控制

blogv1
blogv2
blog90
...
blogv100

PS: 文件管理版本,每个版本需要保留

以上是使用文件或文件夹进行版本管理,以上方式有缺点:

多个文件,保留所有版本时,需要将多个文件保存在本地
协同操作,多人协同操作时,需要将文件发来发去...
容易丢失,被删除意味着永远失去(可以选择网盘)

简单总结:
vss: 不用

svn: 集中式版本控制系统;服务端有所有版本;客户端只有一个版本

GIT:分布式版本控制系统

共同点:
- 服务端(保存代码的仓库)
- 客户端(个人用户)

2. 需求来了
原始方法:
a. 创业初期:单身太久,硬盘沾满,创业:北京热; 同城交友

b. 开发新功能:直播(2个月)

拷贝一份,进行编辑,1个月
在回来:继续开发

c. 紧急修复bug,2个小时
从线上在拷贝一份,修复bug;上线

Git方式:
a. 创业初期:单身太久,硬盘沾满,创业:北京热; 同城交友
进入程序目录

git init => 初始化
生成 .git 文件,用于保存git相关所有信息,如:每个版本

git status => 查看状态

git add 文件名

git commit -m ‘提交信息‘

配置用户信息:
git config --local user.name ‘名称‘
git config --local user.email ‘邮箱‘

其他:
git ls-tree head 查看版本中所有文件
git ls-files -s 查看暂存区和版本中所有文件
b. 开发新功能:短信提醒
有短信功能:
开发短信功能
创建msg.txt文件
git add .
git commit -m ‘开发短信功能‘
git log

回滚(无短信功能):
git reset --hard 92dea56e57466115efab904a5f1d9adc361111e8

再回去:
git reflog
git reset --mix a615783
git checkout 文件名
c. 开发新功能:直播(2个月)
方式一:stash
工作区工作:
git stash -> 将当前已经做过的修改,保存到一个临时地方
修复bug
git add .
git commit -m ‘修复bug‘

git stash pop -> 临时地方内容重新放回工作区

又出了一个bug
git stash
修复bug
git add .
git commit -m ‘修复bug‘

git stash pop 出现冲突,手动解决


<<<<<<< Updated upstream
同城交友网站
张小戈
=======
同城交友网站
张小戈
开发直播功能到一半
>>>>>>> Stashed changes


同城交友网站
张小戈
开发直播功能到一半

git add .
git commit -m ‘修复bug‘


其他:
git stash
git stash apply ‘名称’
git stash drop ‘名称’
git stash list
git stash pop

方式二:分支

master:只保留线上版本
dev: 保存所有开发版本


创建分支(注意当前所在分支):
git branch dev
进入分支:
git checkout dev

开发新功能:
开发...
git add .
git commit -m ‘开发功能1‘
...

出现bug
git checkout master
git branch bug
git checkout bug

修复bug
...
git add .
git commit -m ‘修复bug‘

合并
git checkout master
git merge bug

无冲突:过
有冲突:
手动解决
git add .
git commit -m ‘解决冲突‘

git branch -d bug

再次回到dev,继续开发
git checkout dev
...
git add .
git commit -m ‘开发完毕‘

合并
git checkout master
git merge dev
无冲突:过
有冲突:
手动解决
git add .
git commit -m ‘解决冲突‘

d. 张戈,公司和家都要进行开发工作
远程仓库:
公共(自己):
github
https://code.csdn.net/
https://git.oschina.net/
公司(gitlab):
自己搭建

1. 注册账号

2. 创建代码仓库 wwwww

https://github.com/a877252372/wwwww.git
公司:
git remote add origin https://github.com/a877252372/wwwww.git

git checkout master
git push origin master # 推送
下班回家
回家:
git clone https://github.com/a877252372/wwwww.git

cd wwwww

git branch dev origin/dev
git checkout dev
写代码

git add .
git commit ...
git push origin dev

公司:
git checkout dev
git fetch origin dev
git pull origin dev 劲大

功能11
git add .
git commit ...
git push origin dev

功能12:(忘记提交,下班回家)
git add .
git commit ...
git push origin dev
回家:
git branch dev
git pull origin dev
功能13:
git add .
git commit ...
git push origin dev
公司:
获取代码,
git pull origin dev

无冲突:过
有冲突:
手动解决
git add .
git commit -m ‘解决冲突‘


e. 协同开发
同一个远程仓库

A B C

github:
- 组织
- 邀请

1. 拉代码
2. 开发...
3. 合并
先提交:没问题


f. fork

1. fork别人项目
2. git clone xxxxxx
3. 修改
4. 提交【自己】

5. new pull request
6. 等

7. fork别人项目

3. 其他

用户名和密码:
https:...

ssh
ssh-keygen.exe
公钥
私钥
公钥放在github

git clone git@github.com:oyoui/bjstack.git
git push ...

忽略文件: .gitignore

https://github.com/github/gitignore/blob/master/Python.gitignore

github操作

标签:xxxxx   stash   www.   集中   客户端   创建   oschina   行编辑   github   

原文地址:http://www.cnblogs.com/hlan/p/7300970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!