常用命令
本笔记,初始化声明
URL 项目所在git的https网址
从远程仓库,克隆远程指定分支的项目,到本地
cd code/
workon py3_cmdb 进入虚拟环境
git clone -b develop URL 拉取develop(子分支)该指定分支的项目代码.
# git clone -b master URL 拉取master(主分支)该指定分支的项目代码git branch 查看当前本地分支
git branch -a 查看本地和远程的所有分支
修改本地用户自身信息
git config user.name 'linghuchong'
git config user.email 'linghuchong@xxx.com'
创建忽略文件
touch .gitignore 添加 (.idea *.py[cod] ...)
日常操作
git status 查看文件目前状态(红:未添加,绿:已添加)
git add . 添加,所有修改过的文件到本地暂存区
git commit -m '注释信息' 提交本地暂存区到本地仓库,并注释备注内容
推自己的项目到指定远程分支
第一步:
# 格式:git push 主机名 分支名(可以不写分支名,远程默认对应分支)
git push origin # 或者 git push origin dev (不写dev,默认为当前分支的对应分支)
将当前分支(git branch 查看为 *dev),推送到origin主机的对应分支(即,当前dev,则推送到远程该origin主机的dev上)
注意:如果当前分支只有一个追踪分支(一个主机),那么主机名origin都可以省略
第二步:
输入:git 远程的账号、密码,输入完后,想以后长期有效,执行一次命令:
git config --global credential.helper store 长期有效
区别:
git push
u 选项,就是为了设置默认主机
如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机
这样,后面在进行推送时,就可以不加任何参数,而直接可以使用git push,如下:
# 这里,以master为例,注意:master 或者 dev 都是一个分支,不过一个主分支,一个子分支
git push -u origin master 将本地的master分支,推送到origin主机,同时指定origin为默认主机
这样,后面再推送时,就可以不加任何参数使用git push
# 这里,再以dev子分支为例(和上边一样):
git push -u origin dev 将本地的dev分支,推送到origin主机远程对应分支(dev)上,同时指定origin为默认主机
# 提示信息:Branch 'dev' set up to track remote branch 'dev' from 'origin'.
# 快餐
不带任何参数的git push,默认只推送当前分支,这叫做simple方式
还有一种matching方式,会推送所有,有对应的远程分支的本地分支
Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式
拉取远程分支代码到本地
git pull 拉取远程主机(默认主机或只有一个主机)的当前本地分支的远程对应分支(如,当前dev,拉取远程dev)
#区域区分:
1、用户机:工作区、版本库 -> 版本库:暂存区、仓库区
2、服务器:git远程仓库
3、本地和远程有关的信息,几乎都在 .git 目录内
4、本地工作区内不想上传提交(忽略)的文件如:xx.pyc xx.pyo xx.pyd .idea 将名字或匹配正则 将文件名放进 .git/.gitignore 文件内即可
#工作中,几乎最常用的命令:
git add 文件名 添加工作区文件至暂存区
git add . 工作区所有文件添加到暂存区
git commit -m '版本信息描述' 从暂存区提交到本地仓库,并添加当前版本说明
git commit -am '注释内容' 工作区文件添加到暂存区,并将暂存区提交到仓库区
git push --> 推送至远程
git pull --> 远程仓库拉取至本地工作区
git --Version 查看是否安装,查看版本
git reflog 查看简单历史版本
git branch 查看当前分支
#本地创建项目,初始化生成 .git ,做好配置,生成远程仓库和 master 主分支
git init 创建本地仓库,初始化 -- 生成 .git 隐藏文件
git config user.name '李四' 配置git提交的用户名,使用者的(同事1 或者 同事2 ...)
git config user.email 'lisi@qq.com' 配置git提交的邮箱,使用者的(同事1 或者 同事2 ...)
touch .gitignore 创建忽略文件
`在 .gitignore 文件中,添加 (.idea *.py[cod] ...)`
git add . 添加所有文件到暂存区
git commit -m '注释信息' 提交到本地仓库,并注释
让pycharm中管理当前项目的 git:
设置 - Version Control - 没有就添加(目录:项目路径; VCS: git)
远程如果还没有新建项目,新建一个,然后获取git项目的网址
git remote add origin git项目的网址 配置本地仓库至远程连接仓库 (本地 -> 远程)
git push -u origin master 远程创建 master 主分支,将本地仓库提交给远程仓库 -- 即,在 origin 下创建 master 主分支
#远程创建了项目后,在克隆到本地:
git clone git项目的地址 在目录下,克隆远程的项目仓库(带 .git 的文件夹)到本地,注意:一般都是第一次使用 (远程 -> 本地)
git config user.name '张三' 配置git提交的用户名,使用者的(同事1 或者 同事2 ...)
git config user.email 'zhangsan@qq.com' 配置git提交的邮箱,使用者的(同事1 或者 同事2 ...)
... 修改、添加、提交等操作后
git push 推送
输入:github 远程的账号、密码
输入完后,向以后长期有效执行一次命令:
git config --global credential.helper store 长期有效
注意:
1、注意:config 配置文件在 .git 隐藏目录内
vi config 查看,
01、可以发现,user选项内,已经加载完用户(使用git项目的同事1、2、3...)写入的 name email 信息
02、在 remote origin 选项中,已经加载了 git项目的网址
2、remote: 远程 origin: 起源/开端 master: 主人/主分支
#单人操作:
sudo apt-get intall git 安装git ,并创建git密码 --- 注意:ubutun 才使用 apt-get
git 查看安装结果,有提示则证明安装成功
git --version 查看是否安装,git版本(mac自带)
git status 查看工作区的文件状态,文件只要还没有添加到暂存区,就会是红色的,添加后,状态变绿
git add 文件名 添加指定文件名到暂存区
git add . 添加所有的改动文件到暂存区
git commit -m '版本信息描述' 添加当前版本说明
git commit -am '版本信息' 直接添加到暂存区并提交到git仓库
git log 查看详情历史版本
git reflog 查看简单历史版本
git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD~1 回退到上..个版本
git reset --hard 版本号 跳转到指定的版本号
git diff HEAD HEAD^ -- 文件名 对比版本库
git checkout 文件名 撤销(回退)工作区中指定文件的修改,即没有添加到暂存区前,文件回退到修改之前的状态(上一次暂存区状态)
git reset HEAD 文件名 撤销(回退)暂存区的代码,将文件从 暂存区->工作区 (文件状态由绿转红)
rm 文件名 删除文件,通过下面命令撤销
git checkout -- 文件名 撤销上边命令的删除
git rm 文件名 删除本地文件, 并提交,通过下面的命令撤销
git reset --hard HEAD^ 撤销上边命令的删除
#多人开发:
git push 推送到远程仓库,注意:是将仓库区文件推送,暂存区的文件没有commit,是无法推送的
git pull 拉取远程代码到本地目录
git config --global credential.helper cache 十五分钟有效期
git config credential.helper 'cache --timeout==3600' 一个小时有效期
git config --global credential.helper store 长期有效
#标签(类似打包) -- 上线产品,不同时期的备份版本(封装版本) - 标签
-- 注意:可查看打包的版本放在 .git/refs/tags/ 里
git tag -a 标签名 -m '标签描述v1.0' 本地标签
git push origin 标签名 将本地标签版本推送到远程端
git tag -d 标签名 删除本地标签
git push origin --delete tag 标签名 删除远端的标签名
#分支 -b -> build: 创建
git branch 查看当前分支
git branch -a 查看本地和远程的分支们
git checkout -b 分支名 创建并自动切换到指定分支,注意:需要在项目目录下执行
git push -u origin 分支名 推送本地分支跟踪远程分支(推送至远程创建分支)
注意:
1、这时候另一个同事 pull 远程仓库(一般默认在 master 主分支上的),是不会拉取下来刚创建的dev分支内容的,拉取的只是主分支的
2、也想拉取这个dev分支怎么办?-> 先切换至 dev子分支
git checkout master 切换到 master主分支
git checkout dev 切换到 dev子分支
在 master 主分支下执行:
git merge 子分支dev 合并指定 子分支dev 到 master主分支中
git branch -d 分支名 删除本地分支
git push origin --delete 分支名 删除远程分支------------------------------------
参考:https://blog.csdn.net/torpidcat/article/details/81252505