1.Git
是分布式管理.服务器和客户端都有版本控制能力,都能进行代码的提交、合并
2.Git
会在根目录下创建一个.git
隐藏文件夹,作为本地代码仓库
添加
、修改
、删除
文件的操作,都发生在工作区中1:创建项目(创建文件夹表示工作项目)
2:进入项目,并创建本地仓库.git(新建的本地仓库.git 是空仓库)
(environ) F:\PycharmProject\xpq\django\messageBoard>git init Initialized empty Git repository in F:/PycharmProject/xpq/django/messageBoard/.git/
3:创建本地仓库.git
后
4:配置个人信息
(environ) F:\PycharmProject\xpq\django\messageBoard>git config user.name ‘谢佩琪‘ (environ) F:\PycharmProject\xpq\django\messageBoard>git config user.email ‘1909734472@qq.com‘ (environ) F:\PycharmProject\xpq\django\messageBoard>
5:创建项目
(environ) F:\PycharmProject\xpq\django\messageBoard>django-admin startproject MessageBoard
7.查看文件状态
新建的项目在工作区,需要添加到暂存区并提交到仓库区
git status
7:将工作区的文件添加到暂存区
# 添加项目中所有文件 git add . 或者 # 添加指定文件 git add MessageBoard
8:将暂存区的文件提交到仓库区
#commit会生成一条版本记录 #-m后面是版本描述信息 git commit -m ‘版本描述‘
9:接下来我们就可以实现项目代码
add
和commit
操作提示:添加和提交合并命令
git commit -am "版本描述"
10:查看历史版本
git log
或者
git reflog
git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log 则不能察看已经删除了的commit记录
11:回退版本
通过每个版本的版本号回退到指定版本
git reset --hard 版本号
(environ) F:\PycharmProject\xpq\django\messageBoard>git reflog 827ddc2 (HEAD -> master) HEAD@{0}: commit (initial): <E7><AB><8B><E9><A1><B9> (environ) F:\PycharmProject\xpq\django\messageBoard>git rest --head 827ddc2 git: ‘rest‘ is not a git command. See ‘git --help‘. The most similar commands are restore reset (environ) F:\PycharmProject\xpq\django\messageBoard>
13.撤销修改
撤销仓库区的代码就相当于回退版本操作
撤销工作区代码
新加代码num3 = 30
,不add
到暂存区,保留在工作区
git checkout 文件名
撤销暂存区代码
新加代码num3 = 30
,并add
到暂存区
# 第一步:将暂存区代码撤销到工作区
git reset HEAD 文件名
# 第二步:撤销工作区代码
git checkout 文件名
1:创建远程仓库(码云和github都ok)
2:克隆远程仓库
F:\PycharmProject\xpq\django>git clone git@gitee.com:xiepeiqi/message-board.git Cloning into ‘message-board‘... warning: You appear to have cloned an empty repository. F:\PycharmProject\xpq\django>
3:配置信息
(environ) F:\PycharmProject\xpq\django\message-board>git config user.name "经理" (environ) F:\PycharmProject\xpq\django\message-board>git config user.email "1909734472@qq.com" (environ) F:\PycharmProject\xpq\django\message-board>
4:创建项目
(environ) F:\PycharmProject\xpq\django\message-board>django-admin startproject MessageBoard
5:推送项目到远程仓库
#将工作区的目录提交到暂存区 (environ) F:\PycharmProject\xpq\django\message-board>git add . #暂存区提交到暂存区 (environ) F:\PycharmProject\xpq\django\message-board>git commit -m "立项" [master (root-commit) 853728b] 立项 5 files changed, 179 insertions(+) create mode 100644 MessageBoard/MessageBoard/__init__.py create mode 100644 MessageBoard/MessageBoard/settings.py create mode 100644 MessageBoard/MessageBoard/urls.py create mode 100644 MessageBoard/MessageBoard/wsgi.py create mode 100644 MessageBoard/manage.py #推送到远程仓库 (environ) F:\PycharmProject\xpq\django\message-board>git push Enumerating objects: 9, done. Counting objects: 100% (9/9), done. Delta compression using up to 4 threads Compressing objects: 100% (7/7), done. Writing objects: 100% (9/9), 2.64 KiB | 902.00 KiB/s, done. Total 9 (delta 0), reused 0 (delta 0), pack-reused 0 remote: Powered by GITEE.COM [GNK-5.0] To gitee.com:xiepeiqi/message-board.git * [new branch] master -> master (environ) F:\PycharmProject\xpq\django\message-board>
git pull
git commit -am ‘版本描述‘
git push
pull
,编辑完再commit
,最后推送是push
1.张三先编辑login.py
文件代码
cd Desktop/zhangsan/info
git pull
num3 = 30
git commit -am ‘第三个变量‘
git push
张三本地仓库和远程仓库代码如下:
2.经理后编辑login.py
文件代码
cd Desktop/manager/info/
num3 = 300
git commit -am ‘第三个变量‘
git push
以上操作会出现代码冲突
提示需要先pull
提示冲突文件
冲突代码表现
3.解决冲突
解决完冲突代码后,依然需要add
、commit
、push
提示:如果张三执行pull
没有影响,就算真正解决了冲突代码
作用:
备份大版本代码
1.进入到经理的本地仓库info
cd Desktop/manager/info/
2.经理在本地打标签
git tag -a 标签名 -m ‘标签描述‘
例:
git tag -a v1.0 -m ‘version 1.0‘
3.经理推送标签到远程仓库
git push origin 标签名
例:
git push origin v1.0
4.查看打标签结果
补充:删除本地和远程标签
# 删除本地标签
git tag -d 标签名
# 删除远程仓库标签
git push origin --delete tag 标签名
对比:操作分支前的代码
1.进入到经理的本地仓库info
cd Desktop/manager/info/
2.查看当前分支
git branch
没有创建其他分支时,只有master
分支
3.经理创建并切换到dev分支
git checkout -b dev
4.设置本地分支跟踪远程指定分支(将分支推送到远程)
git push -u origin dev
5.经理在dev分支编辑代码
6.管理dev分支源代码:add
、commit
、push
7.dev分支合并到master分支
num4
7.1 先切换到master分支
git checkout master
7.2 dev分支合并到master分支
git merge dev

7.3 经理推送合并分支操作到远程仓库
合并分支默认在本地完成,合并后直接推送即可
git push
8.张三同步经理合并后的num4
只有当张三同步代码成功,分支合并才算成功
cd Desktop/zhangsan/info/
git pull
原文:https://www.cnblogs.com/1164xiepei-qi/p/13625160.html