最近公司gitlab又迁移,一堆git的命令骚操作,然鹅git命令,感觉还是得复习下——其实,git现在界面操作工具蛮多,比如intellij 自带的git操作插件就不错,gitlab github 插件市场也有很多,——但是,基本命令还是整理汇总,记下笔记!

建立本地仓库

git init  创建本地仓库 git init [project-name]

git remote add origin git@github.com:UserName/yourProjectName.git   把本地仓库和远程仓库关联起来, 如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址

git clone https://github.com/zhoulujun/yourProjectName.git

提交本地修改到远程仓库中:

git add -- 将改动添加到本地仓库中

  • git add [file1] [file2] ...  ||  git add [dir] 添加指定文件||目录到暂存区

  • git add -A ||  git add .添加当前目录的所有文件到暂存区

  • git add -p 添加每个变化前,都会要求确认,对于同一个文件的多处变化,可以实现分次提交

git rm xxx      -- 从本地仓库中删除指定文件

  • git rm -r xxx   -- 从本地仓库中删除指定文件夹

  • git rm --cached [file]

  • git mv [file-original] [file-renamed]  改名文件,并且将这个改名放入暂存区

git commit -m "注释"    -- 把本机缓存中的内容提交到本机的 HEAD 里面

  • git commit -a 提交工作区自上次commit之后的变化,直接到仓库区

  • git commit -v 提交时显示所有diff信息

  • git commit --amend -m [message] 使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息

  • git commit --amend [file1] [file2] ... 重做上一次commit,并包括指定文件的新变化

git push origin master  -- 把本地的 commit(提交) push 到远程服务器上, origin 也就是之前 git remote add origin 那个命令里面的 origin,origin 替代了服务器仓库地址:git@github.com:zhoulujun/yourProjectName.git

git push remoteBranchName tagName提交指定tag

git push remoteBranchName --tags 提交所有tag

git转态查看

git status 查看状态

git branch 查看本地所有分支

  • git branch -r查看远程所有分支

  • git branch -a查看本地和远程所有分支

git tag  列出所有tag

git show tagName 查看tag信息

git log --stat 显示commit历史,以及每次commit发生变更的文件

分支操作

git checkout branchName 切换到指定分支,并更新工作区

git merge branchName 合并指定分支到当前分支

git branch newBranchName 新建一个分支,但依然停留在当前分支

git branch --track branch remote-branch 新建一个分支,与指定的远程分支建立追踪关系

git branch -D branchName //删除目标分支

git checkout -b branchName 新建并切换至新分支

git branch -d -r branchName 删除远程分支,其中

git branch -m oldbranchname newbranchname  重命名分支 使用-M则表示强制重命名

重命名远程分支

  • git branch -m old_name new_name 重命名分支

  • git checkout -b new_branch_name from_branch_name 本地建立 branch 並立即 checkout 切換過去

  • git push origin –delete old_name

git强制覆盖本地代码

与git远程仓库保持一致

git fetch --all

git reset --hard origin/master

git pull

git强制覆盖本地命令(单条执行):

git fetch --all && git reset --hard origin/master && git pull

git修改远程仓库地址

方法有三种:

1.修改命令

git remote origin set-url [url]

2.先删后加

git remote rm origin

git remote add origin [url]

3.直接修改config文件

.git文件夹,找到config,编辑,把就的项目地址替换成新的。

git 配置

git config --list        查看配置列表

git config --global user.name "xxx"   -- 配置用户名,上传本地 repository 到服务器上的时候,在 Github 上会显示这里配置的上传者信息

git config --global user.email "xxx"    -- 配置邮箱

配置 sshkey : 上传代码时使用这个 sshkey 来确认是否有上传权限

1. 创建本地 ssh : ssh-keygen -t rsa -C "Github 的注册邮箱"

2. 在 Github 中添加这个 sshkey :

复制  C:\Documents and Settings\Administrator\.ssh\id_rsa.pub 文件中的内容;

登录 Github --> Account Setting  --> SSH-KEY --> Add SSH-KEY --> 粘贴id_rsa.pub中的内容;

3. 验证: ssh -T git@github.com

出现 Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. 说明配置成功,可以连接上 Github

使用 .gitignore 文件忽略指定的内容

1. 在本地仓库根目录创建 .gitignore 文件。Win7 下不能直接创建,可以创建 ".gitignore." 文件,后面的标点自动被忽略;

2. 过滤文件和文件夹: [Tt]emp/ 过滤 Temp\temp 文件夹; *.suo 过滤 .suo 文件;

3. 不过滤文件和文件夹: !*.c

原文地址:git宝典-应付日常工作使用足够的指北手册 - git使用的的一些日常小结合集 - 周陆军的个人网站

不定期更新,文有不妥之处,请留言告知,多谢

git宝典—应付日常工作使用足够的指北手册的更多相关文章

  1. 关于git你日常工作中会用到的一些东西

    前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary ...

  2. Git多人协作工作流程

    前言 之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...

  3. 数据科学工作者(Data Scientist) 的日常工作内容包括什么

    数据科学工作者(Data Scientist) 的日常工作内容包括什么 众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容 ...

  4. 项目git commit时卡主不良代码:husky让Git检查代码规范化工作

    看完 <前端规范之Git工作流规范(Husky + Commitlint + Lint-staged) https://www.cnblogs.com/Yellow-ice/p/15349873 ...

  5. DBA日常工作内容和职责

    1.统计数据库总容量 按表空间分别统计: 总容量(单位为M): 2.计算用户下所有对象大小 3计算USERS表空间的大小 4计算该USERS表空间对象大小 ---------------------- ...

  6. git总结一、工作中常用基础命令

    首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...

  7. Atitit 常见每日流程日程日常工作.docx v4

    Atitit 常见每日流程日程日常工作.docx v4 ----早晨 签到 晨会,每天或者隔天 每日计划( )项目计划,日常计划等. mailbox读取检查 每日趋势 推库 -----下午 签退 每日 ...

  8. awbeci—一个帮助你快速处理日常工作的网址收集网站

    大家好,我是awbeci作者,awbeci网站是一个能够快速处理日常工作的网址收集网站,为什么这样说呢?下面我将为大家介绍这个网站的由来,以及设计它的初衷和如何使用以及对未来的展望和计划,以及bug反 ...

  9. 【Java】能提高日常工作效率的一些Java函数

    自编工具总是临时抱佛脚来得顺溜,宜常备手边以提高工作效率: package com.hy; import java.io.File; /** * 日常工作常用的一些工具方法 * @author 逆火 ...

随机推荐

  1. 程序员之路:python3+PyQt5+pycharm桌面GUI开发

    http://blog.sina.com.cn/s/blog_989218ad0102wz1k.html 先看效果: 图 1 没错,学过C#的同学应该很熟悉这个界面,按钮风格和界面风格很相似,万万没想 ...

  2. ISP PIPLINE (六) AWB

    What is WB(white balance)? 人的视觉和神经系统在看到白色物体的时候,基本不受环境的变化而出现严重的错觉.比如阴天,晴天,室内,室外,日光灯,白炽灯等的环境下,人依然会将白纸视 ...

  3. Python中的作用域及global用法

    Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定的. 函数定义了本地作用域,而模块定义的是全局作用域. 如果想要在函数内定义全局作用域,需要加上global修饰符. 变量名解析:LE ...

  4. MyBatis入门(二)接口式编程

    在  MyBatis入门(一) 的基础之上编写接口 将接口和Mapper文件进行绑定,会为接口创建一个代理对象,代理对象去执行增删改查 (1)编写接口 public interface EmpDao ...

  5. 配置ssh框架启动tomcat服务器报异常Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

    在Spring中配置jdbc时,引用的是dbcp.jar包,在db.properties配置文件中,使用了之前的properties配置文件的用户名username(MySql用户名) 然后在启动服务 ...

  6. NoSuchMethodError 问题

    最近maven升级到gradle后,总是报NoSuchMethod error.然后 ,报错的类确实是有这个方法,一切看起来都没有问题.那么运行时jvm到底加载的哪里的类呢?有没有相关的命令可以查询, ...

  7. 被sleep开了个小玩笑

    本案例转载自李大玉老师分享 Ⅰ.问题背景 探活脚本连续8次探测,判断主库异常,触发切换(判断备机是否有延迟,kill原主,VIP飘到备机,设置新主可写) 切换后,业务还是异常,SQL查询没返回,DB连 ...

  8. kubernetes in action - Replication Controller

    理解这个问题,就是pods在Kubernetes中怎么进行failover 在Kubernetes的work node上有kubelet,会负责监控该work node上的pods,如果有contai ...

  9. Nginx(一)-windows下的安装配置

    第一步 下载 官网下载地址 因为只是测试这里选择最新版本1.13.9 下载完成得到zip压缩包 解压后得到如下目录 第二步  启动nginx 注意不要直接双击nginx.exe,这样会导致修改配置后重 ...

  10. Spring Boot(二):Spring-Data-JPA操作数据库( Hibernate)增删改查

    一.Maven使用3.3.9版本或以上,选择Binary 版本 二.添加spring-data-jpa和数据库依赖,以oracle为例 三.添加连接数据库配置 四.新建model自动生成数据库表(不用 ...