git
git # 版本控制 git init # 初始化仓库 在文件创建git. 没有git.就是普通文件 git status # 查看状态 git add . # 所有文件进行缓存 git commit -m # 描述 备注 git config --global user # 配置用户名 git config --global email # 配置邮箱 git config --global user.name git config --global user.email git push origin master # 分支 git remote add origin https://gitee.com/maple-shaw/day75.git # 远程仓库地址 origin(别名)
git版本
git log # 查看版本 git reset --hard # 版本号 版本回退 git reflog # 查看历史记录
git分支
master # 分支 git branch # 查看分支 git branch 分支名 # 创建分支
git branch -d 分支名 # 删除分支
git checkout 分支名 # 切换分支
git merge dev # 将dev分支上的代码合并当当前分支
wq # 退出保存
合并分支时会出现冲突 出现冲突手动修改
个人开发的流程
创建代码仓库
有两个分支 master dev
在dev分支上 开发了一个功能 提交一个commit
dev分支上的代码合并到master
修改BUG的流程:
从master分支上新建debug分支
在debug分支修改bug 提交版本
切换回master 合并debug上分支
删除debug分支
公司和家配合开发
公司的电脑上创建仓库 写代码 提交版本
推送代码到远程仓库
回家在家里的电脑 克隆仓库
开发新功能 提交 推送到远程仓库
上班在公司
从远程仓库 拉取代码
在git平台创建工程
常用的代码管理平台:github、gitee(码云)
搭建的代码管理平台,gitlab框架
1) 创建私有项目库
创建私有空仓库以后的界面:
2)克隆项目到本地
注意:
我们当前项目不需要这个步骤
这个步骤是 当以后我们进入公司里面,参与人家已经在做的项目时,别人已经有仓库了,但是我们是新人加入项目中的,那么我们不需要在自己本地进行git init,直接git clone 复制别人的仓库代码
git clone 仓库地址
注意,如果当前目录下出现git仓库同名目录时,会克隆失败。
3)创建并切换分支到dev
# git branch dev # 创建本地分支dev,dev是自定义 # git checkout dev # 切换本地分支代码 git checkout -b dev # 这里是上面两句代码的简写 git branch -d dev # 删除分支
git提交
git add 代码目录 # 添加代码到上传队列 git status # 查看当前项目的版本状态 git commit -m '添加项目代码' # 提交代码到本地仓库, -m 表示本次提交的描述
推送到远端
git push origin dev:dev
如果推送代码,出现以下提示: git pull ....,则表示当前本地的代码和线上的代码版本不同.
1. 把线上的代码执行以下命令,拉取到本地,进行同步 git pull 2. 根据提示,移除多余的冲突的文件,也可以删除. 完成这些步骤以后,再次add,commit,push即可.
接下来,我们就把上面创建好的本地项目提交到gitee码云上面
# .表示当前目录下所有的文件或目录提交到上传队列[上传队列也叫"暂存区"] git add . # 把本地上传队列的代码提交到本地仓库 git commit -m "项目初始化搭建" # 给本地的git版本控制软件设置项目的远程仓库地址 git remote add origin https://gitee.com/mooluo/luffyproject.git # 提交代码给远程仓库 git push -u origin master
扩展:
1. 通过 git status 可以查看当前项目的代码版本状态 2. 通过 git reflog 可以查看代码版本日志[简单格式] 3. 通过 git log 可以查看代码版本日志[详细格式]
最终,成功提交了代码版本到gitee平台。效果:
上面虽然成功移交了代码版本,但是一些不需要的文件也被提交上去了。
git rm 文件 # 删除单个文件 git rm -rf 目录 # 递归删除目录 # 以下操作建议通过ubuntu的终端来完成,不要使用pycharm提供,否则删除.idea还会继续生成。 git rm -rf .idea git rm db.sqlite3 # 注意,上面的操作只是从项目的源代码中删除,但是git是不知情的,所以我们需要同步。 git add . git commit -m "删除不必要的文件或目录" git push -u origin master
使用.gitignore把一些垃圾文件过滤掉。
vim .gitignore ./idea ./idea/* ./git ./db.sqlite3
开发时我们经常会使用pycharm的提供的git管理工具来完成代码的拉取和推送。