Git 分布式版本控制系统

Git 分布式版本控制系统

版本控制

之前的版本控制是通过文件管理版本,每个版本需要保留

文件管理缺点:

  • 多个文件
  • 协同操作 将文件发来发去
  • 容易丢失

版本管理工具

  • VSS 有人在修改代码的时候,别人不能修改
  • SVN 集中式版本管理,服务端有所有的版本,客户端只有一个版本
  • Git 分布式版本管理系统

git命令

一定要在.git 目录进行提交

创建git

进入程序目录 git init 创建.git文件,包含所有的版本

1
2
3
4
5
6
7
8
9
10
11
`git status`查看状态
`git add 文件名`
提交之前需要配置:
`git config --local user.name`
`git config --local user.email`
git log 查看修改的记录
`git commit -m '注释'`

工作区:当前程序目录
版本库:.git

  • 暂存区
  • 分支

提交全部的文件:
git add . 当前目录所有文件添加到暂存区

git commit 提交到分支

工作区变化后,重新提交

工作区的文件修改后,git自动检测

git ls-tree head 查看分支中的所有的文件

git ls-files 查看暂存区和分支中的文件

回滚操作:

git reset –hard 版本号

回滚到上一个版本
git reset --hard HEAD~1

再回去

查看所有的日志:git reflog

git reset –mix 版本号 默认是mix

再用git checkout

或者直接用 git reset –hard

###

线上遇到bug

在工作区工作,把当前的拿走
git stash 将当前已经做过的修改 保存到一个临时的地方

修复bug后再回来

git stash list 查看临时目录中的内容

git stash pop 就能拿回来,然后继续开发

合并分支出现冲突

  • stash

同一个文件会出现冲突,手动解决

都保留代码,程序员手动解决
手动解决冲突,解决冲突后, git add .

git commit -m ‘解决冲突并提交’

  • 分支

注意当前所在分支

git branch

创建分支
git branch dev

跳转分支

git checkout dev

git checkout –file

git checkout -b xxx 创建并切换到xxx分支

分支合并

在mater中进行合并

git merge bug

删除bug分支

git branch -d bug

远程仓库

公共:

  • GitHub
  • 码云
  • CSDN

创建别名origin

git remote add origin https://

推送代码

git push origin master

git checkout dev

git push origin dev

下载代码

git clone https://

下载来的是master

git branch -a

获取原来的dev分支
git branch dev origin/dev

git checkout dev 切换到dev开发

add
commit

推送:
git push origin dev

公司:

git checkout dev

git fetch orign dev

git fetch orign pull 劲大

私有:

  • Gitlab(自己搭建)

协同开发

多人共同开发,还可以设置权限

github中先创建组织:new organization
邀请成员

有人已经提交了,先pull

参与开源项目

fork

git clone

提交给自己,然后new pull request

ssh

ssh-keygen.exe

把公钥放到github中

免登陆

vim.gitignore

在创建Git项目的时候,直接选择Python的ignore

里面写不提交的
*.pyc

GitHub已经把所有语言的

https://github.com/github/gitignore

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

还有pycharm中的 xml

© 2018 Peter's Blog Center All Rights Reserved.
Theme by hiero