Python开发学习笔记(17)————Git版本控制

git

1.git基本

分布式版本管理系统

1)特点

版本管理,可以解决多人同时开发的代码问题,也可以解决找回历史代码的问题。
分布式:同一个Git仓库,可以分布到不同的机器上。

2)创建版本库

1>创建一个目录,在目录下创建版本库,命令: git init
2>创建版本
a 在创建的目录下,创建一个文件code.txt
b 使用命令创建一个版本

git add code.txt
git commit -m '版本1'

c 使用如下命令查看版本记录

git log

d 回到某一个版本,命令:

git reset –hard HEAD^

HEAD^表示回到前一个版本,HEAD^^表示回到前前个版本
HEAD-1表示前1个版本,HEAD-100表示前100个版本

3>工作区和暂存区

a 工作区
电脑中的目录
b 暂存区
工作区有一个隐藏目录 .git目录,是git的版本库
版本库中stage,即为暂存区
git add 把文件修改添加到暂存区
git commit 把文件提交修改,把暂存区内容提交到版本分支
git status 查看当前工作状态,可以显示修改了哪些文件,有哪些文件未提交

4>撤销修改

未到暂存区,git checkout – 文件名 丢弃工作区的修改
已经到暂存区,git reset HEAD 文件名 即可取消暂存,然后用上面的命令即可撤销修改
已经保存版本,可以参考上面的版本回退

5>对比文件不同

命令:

git diff HEAD –- 文件名

输入命令后,显示的内容中,-代表HEAD版本中文件的内容,+代表工作区文件的内容

6>对比两个文件不同
git diff HEAD HEAD^ -- 文件名

现版本和前一个版本的不同

7>删除文件
rm 文件名
git rm 文件名

确认删除就 git commit
回退就 git reset HEAD 文件名

2.git分支

1)基本操作

1>主分支 master分支,HEAD指向master,master指向最新版本
2>当创建新的分支,git创建一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上
3>此时,工作区的修改和提交就是针对dev分支了,如有新的提交,dev指针向前一步,master指针不动
4>如果dev上的工作完成,进行合并。把master指向dev的当前提交,完成合并。
5>删除dev指针,HEAD指向master

命令:git branch查看分支
创建分支:git checkout -b dev 切换到新的分支dev
编辑完之后,切换回master:git checkout master
合并:git merge dev
删除分支:git branch -d dev

2)解决冲突

master分支和dev分支都发生了更新时的合并。
手动解决冲突之后,重新提交即可。

3)分支管理策略

通常git采用快速合并模式,但是有些快速合并并不能成而且合并时没有冲突,这个时候会合并之后并做一次新的提交。
禁用快速合并:git merge –-no-ff -m ‘备注‘ 分支名

4)bug分支

git提供了一个stash功能,可以把当前工作现场储藏起来,等以后恢复现场后继续工作
git stash即可保存现场
之后可以去修复bug
bug修复后,通过禁用快速合并方式与master进行合并
之后回到dev分支干活:git stash list 列出工作现场
git stash pop 恢复工作现场

3.github

1)创建仓库

点击 New repository
add .gitignore 可以忽略的文件

2)添加ssh账户

点击头像下的settings,输入shh公钥

生成ssh公钥方法:
在用户主目录下,编辑文件:.gitconfig 修改git配置,修改为注册github的邮箱和用户名
使用命令生成ssh公钥:ssh-keygen -t rsa -C ‘注册邮箱‘

3)克隆项目

进入github主页的项目仓库页面
复制git地址
在电脑上 git clone 粘贴git地址
克隆出错时,输入下面两条命令:

eval ‘$(ssh-agent -s)’
ssh-add

4)推送代码

推送分支

git push origin 分支名称

本地分支跟踪服务器分支:

git branch –-set-upstream-to=origin/远程分支名称 本地分支名称

从远程分支拉取代码

git pull origin 分支名称
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章