git

常用命令

本笔记,初始化声明

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


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值