Git命令大总结(纯手办)
Git完整命令手册地址:http://git-scm.com/docs
PDF版命令手册地址:github-git-cheat-sheet.pdf
| 1.git config -l查看全局用户信息配置 |
| 2.git config user.name = "liuburu" 配置用户名 |
| 3.git add Hello.java 添加文件到暂存区 |
| 4.git commit -m "注释语" 添加文件到工作区 |
| 5.git status 查看工作区文件状态 |
| 6.git log -pretty=online 版本格式显示 |
| 7.git reset --hard head~1 回退到上一个版本 |
| git reset 撤销提交 |
| 8.git reflog 显示可以穿梭的历史版本信息,以及简写版本信息 |
| 9.git reset --hard e9a40a4 回退到指定的版本 |
| 10.git diff head Hello.java 与前一个版本作比较 |
| 11.git remote add origin url.. 把github与本地仓库相关联 |
| 12.git push -u origin master 把本地内容推送到github上 |
| 13.git remote -v 查看远程服务器已经存在的版本 |
| 14.git remote rm test 删除远程test仓库 |
| 15.git commit -a -m "一步提交操作" |
| 16.git clone url 克隆远程仓库 |
| 17.git branch brh 创建一个分支 |
| 18.git branch 查看分支 |
| 19.git checkout brh 切换分支 |
| 20.git branch -d brh 删除分支 |
| 21.git checkout -b brh 创建并且切换分支 |
| 22.git push origin brh 推送分支到远程仓库(远程分支没有该本地分支,也没有关联) |
| git push -u origin/bth(推送并且关联) |
| 23.git push origin --delete brh 删除远程分支 |
| 24.git branch -m brh newBrh 分支重命名 |
| 25.git branch -a/-r/-l 查看全部/远程/本地分支 |
| 26.git branch -D newBrh 删除分支(分支还未合并,强制删除) |
| 27.git push origin --delete newBrh / git branch newBrh +git push origin :newBrh 推送空分支 |
| 28.Git自动解决冲突与手动解决冲突 |
| 29.git log --graph --pretty=oneling 图形显示日志 |
| 30.【本地-->远程】 |
| 意思:如有没有本地仓库使用第一种方法与远程仓库关联 |
| 如果有本地仓库,那么就是用第二种方法与远程仓库关联 |
| We recommend every repository include a README, LICENSE, and .gitignore. |
| …or create a new repository on the command line |
| echo "# gitdemo" >> README.md |
| git init |
| git add README.md |
| git commit -m "first commit" |
| git remote add origin https://github.com/kakaluote444/gitdemo.git |
| git push -u origin master |
| …or push an existing repository from the command line |
| git remote add origin https://github.com/kakaluote444/gitdemo.git |
| git push -u origin master |
| …or import code from another repository |
| You can initialize this repository with code from a Subversion, Mercurial, or TFS project. |
| Import code |
| 31.怎么同步远程仓库到本地【远程-->本地】 |
| ·远程分支先创建,如何使让其与本地进行关联,需要使用: |
| git branch --set-upstream-to = origin/liuburu |
| ·git fetch origin liuburu master:temp |
| 把远程分支上的liuburu分支抓取到本地的temp分支上 |
| 注意:此时liuburu分支上的数据并未同步到本地,需要 |
| 使用git merge origin/liuburu 进行数据同步 |
| ·git remote -v 查看远程仓库 |
| ·git fetch origin master 把远程仓库orgin的master分支下的代码下到本地的origin/master分之下 |
| ·git log -p master..origin/master 比较两个版本的差别 |
| ·git merge origin/master |
| ·git fetch orgin master:temp |
| ·git diff temp |
| ·git merge temp |
| git pull origin master(相当于是从远程获取最新版本并merge到本地) |
| git checkout -b local-branchname origin/remote_branchname拉取远程分支上的代码到本地,并且切换到该分支 |
| 32.推送分支到远程分支以及删除远程分支 |
| git push origin --delete lxh 删除远程分支 |
| git branch lxh + git push origin :lxh 推送空分支删除远程分支 |
| git branch -d | -D branchname 删除branchname分支 |
| git branch -m|M oldbranch newbranch 重命名分支,M强制重命名 |
| 33.暂存区的使用 |
| git stash 暂存 |
| git pop 回复使用并且删除暂存 |
| git stash apply 暂存应用恢复 |
| git stash drop 暂存删除 |
| 34.标签的使用 |
| git tag v1.0 为master定义标签 |
| git tag v1.2 commitID 未指定版本定义标签 |
| git show v1.2 查看指定标签 |
| git tag 查看所有标签 |
| git tag -a v1.2 -m "this is my tag" commitID添加注释 |
| git tag -d v1.2 删除本地标签 |
| git push origin:refs/tags/v1.2 删除远程标签 |
| git push origin v1.2 推送一个标签 |
| git push origin -tags 推送多个标签 |
| git tag -d v1.2 |
| 35.Git忽略规则 |
| # 此为注释 – 将被 Git 忽略 |
| *.a # 忽略所有 .a 结尾的文件 |
| !lib.a # 但 lib.a 除外 |
| /TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO |
| build/ # 忽略 build/ 目录下的所有文件 |
| doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt |
| 注意问题: |
| 但是有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则, |
| 按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被 |
| track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 |
| 那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交: |
| git rm -r --cached . |
| git add . |
| git commit -m 'update .gitignore' |
| 36:多人开发场景(自动决定冲突、手动解决冲突) |
| 1.前提:老板创建好了远程仓库,并且含有readme.md文件,并且创建好了一个公共类型的配置文件config.properties(为了版本演示冲突) |
| 注意:每一个开发者都应该遵循:第一次:克隆->增删改查->提交 以后:拉取->增删改查->提交 |
| A:拉取远程项目,创建分支coder_lbrhy并且进行,创建LiuBuRu.java文件进行远程推送 |
| B:拉取远程项目,切换到coder_lbrhy分支上,创建HuangYing.java文件并且进行远程推送 |
| 37.删除远程上呗忽略的文件 |
| 我向远程仓库提交了如下文件src/ pom.xml target/ WebContent/,发现没必要提交target目录。 |
| 于是做了如下操作: |
| git rm -r --cached target |
| git commit -m "delete target/" |
| git push origin master |
| 打开github看一下,target目录是不是没有提交了! |
| 如果想把target目录以后都不用提交,可以作如下 |
| vi .gitignore |
| #写入: |
| target/ |
| #可以在.gitignore中写入我们不想提交的文件或目录 |
| #保存退出 |
| git add .gitignore |
| git commit -m "write .gitignore" |
| git push origin master |
| 以后就不会提交target目录了! |
Git命令大总结(纯手办)的更多相关文章
- git命令大集合
git 使用整理 密钥生成 cd ~/.ssh //检查本机中是否有公钥信息 mkdir key_backup cp id_rsa*key_backup rm id_rsa //删除已有公钥 &quo ...
- 【】(Git)用动图展示10大Git命令
1.说明 git merge.git rebase.git reset.git revert.git fetch.git pull.git reflog-- 你知道这些 git 命令执行的究竟是什么任 ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
- GIT命令行的使用
新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...
- 你不一定知道的几个很有用的 Git 命令
这里给大家分享一些很有用的 Git 命令,其中很多用法你可能都不知道,无论你是工作在团队环境中或在您的个人项目中,这些命令将对你帮助很大,让你可以更加高效的进行项目开发,更轻松愉快的工作和生活. 您可 ...
- 10个很有用的高级Git命令
迄今,我已经使用Git很长一段时间了,考虑分享一些不管你是团队开发还是个人项目,都受用的高级git命令. 1. 输出最后一次提交的改变 这个命令,我经常使用它 来发送其他没有使用git的人来检查或者集 ...
- Git命令详解
一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.csdn.net/sunboy_2050/article/details/7529841 前面两 ...
- 常用Git命令汇总
常用Git命令汇总 跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,甚至有些代码没有做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代 ...
- 常用Git命令大全
Git命令 查看.添加.提交.删除.找回,重置修改文件 git help <command> # 显示command的help git show # 显示某次提交的内容 git show ...
随机推荐
- Codeforces Beta Round #96 (Div. 2) E. Logo Turtle dp
http://codeforces.com/contest/133/problem/E 题目就是给定一段序列,要求那个乌龟要走完整段序列,其中T就是掉头,F就是向前一步,然后开始在原点,起始方向随意, ...
- 洛谷 P1202 [USACO1.1]黑色星期五Friday the Thirteenth
黑色星期五 难度:☆ Code: #include <iostream> #include <cstdio> #include <cstring> using na ...
- 用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话
wechatBot 微信每日说,每日自动发送微信消息给你心爱的人 项目介绍 灵感来源 在掘金看到了一篇<用Node + EJS写一个爬虫脚本每天定时女朋友发一封暖心邮件>后, 在评论区偶然 ...
- Mind must be master of the body, strong mind can separate the body from its suffering.
Mind must be master of the body, strong mind can separate the body from its suffering.意志是身体的主人,有顽强的意 ...
- Python+selenium之获取验证信息
通常获取验证信息用得最多的几种验证信息分别是title,URL和text.text方法用于获取标签对之间的文本信息. 代码如下: from selenium import webdriverimpor ...
- Android(java)学习笔记127:生成 4种不同权限的文件
1. 首先我们编写一个生成 4种 不同权限的文件的程序案例: (1)首先是activity_main.xml文件: <RelativeLayout xmlns:android="htt ...
- dp cf 1700 最近几天的刷题
C. Number of Ways 这个题目的意思是,把这个n的序列分成三个连续的部分,要求这三个部分的和是一样的.问这种划分的方法有多少种. 这个题目和之前写过的数字划分有点像,这个就是要先进行前缀 ...
- python零基础学习开篇
我是某工业大学的一名博士,研究方向是基于人脸的模式识别.很遗憾,毕业后没有继续从事图像处理中模式识别相关研究.多种原因进入了一家国企单位,从事交通方面工作.工作2年中一直迷茫,没有在工作岗位中找到自己 ...
- 什么是redis的持久化?
什么是redis的持久化? RDB 持久化:该机制可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF 持久化:记录服务器执行的所有写操作命令,并在服 ...
- 7.Props向子组件传递数据
组件实例的作用域是孤立的.这意味着不能并且不应该在子组件的模板内直接引用父组件的数据. 可以使用 props 把数据传给子组件. for-child-msg="aaa" , fo ...