这些命令需要在仓库文件夹内执行
注意区分 工作区、暂存区、仓库区
安装git
sudo apt-get install git
新建一个文件夹后,cd进入,将该文件夹作为本地仓库
git init
下面这些命令都是在仓库文件夹下执行的
克隆拷贝远程服务器上的仓库到本地
git clone
设置本地代码提交人的名字和邮箱
git config user.name '张三'
git config user.email 'zhangsan@163.com'
同步远程服务器上的代码
git pull
或者
git pull 远程主机的仓库
如 git pull https://gitee.com/what-is-tao/meiduo_project.git
查看当前文件状态
git status
将工作区的所有代码文件提交到暂存区(注意后面的点号)
git add .
将工作区的指定文件login.py提交到暂存区
git add login.py
将暂存区的代码文件提交到本地仓库区
git commit -am "在这里输入文字描述版本信息"
将本地仓库区的代码文件推送到远程服务器的仓库区
git push
查看历史版本
git log
git log 不能察看已经删除了的commit记录
git reflog
git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录
回退版本
回退当前最新版本的前几个版本
git reset --hard HEAD^
- HEAD表示当前最新版本
- HEAD^表示当前最新版本的前一个版本
- HEAD^^表示当前最新版本的前两个版本,以此类推...
- HEAD~1表示当前最新版本的前一个版本
- HEAD~10表示当前最新版本的前10个版本,以此类推...
回退到指定版本(版本号通过git relog查看)
git reset --hard 版本号
撤销修改
撤销工作区的代码
git checkout 文件名
撤销暂存区的代码(将暂存区的代码撤销到工作区,再撤销工作区代码)
第一步,将暂存区的代码撤销到工作区
git reset HEAD 文件名
第二部,将工作区的代码撤销
git checkout 文件名
给项目版本打标签tag,即打上版本号如 v1.0等
项目主管人员cd到本地仓库
git tag -a 标签名 -m '标签描述'
如: git tag -a v1.0 -m 'version 1.0'
将标签推送到远程仓库
git push origin 标签名
完成后可在远程仓库如 github中查看到tag
删除本地仓库标签
git tag -d 标签名
删除远程仓库标签
git push origin --delete tag 标签名
分支的操作
cd进入本地仓库后
查看当前分支,看出只有master分支
git branch
创建并切换到dev分支
git checkout -b dev
设置本地繁殖跟踪远程指定分支(即将分支推送到远程)
git push -u origin dev
在分支dev上编辑代码后依旧需要 add commit push
将分支dev合并到master分支
先切换到master分支
git checkout master
dev分支合并到master分支
git merge dev
将合并分支操作推送到远程仓库(合并分支默认在本地完成,合并后直接推送即可
)
git push