Git 命令 一

使用设置

git config --global user.name "Your Name"
git config --global user.email "Your E-Mail"
git config --global core.editor vim
git config --global merge.tool     vimdiff
git config --list                                # 显示当前的配置
git config --global core.autocrlf false          # 停止换行的自动转换

初始化或者Clone一个库

git init                 # 初始化一个新的空库
git clone   URL          # 克隆一个远程库
git clone --bare   URL   # 克隆不带工作目录的纯库

文件操作相关

git status                    # 查看状态
# 将修改添加到Stage
git add  .                    # 当前目录所有已在版本库中的文件
git add file                  # 添加文件
git diff               # 查看修改
git diff     --cached  # 查看已经暂存的差异
git commit                   # 将已加到Stage的文件提交到库中
git commit -m "修改注释"
git commit -a -m "修改注释"    # 直接将已跟踪的文件,添加到Stage并提交
git rm               # 删除文件
git rm -f            # 已修改的文件 强制删除
git rm --cached      # 删除,但保留文件在磁盘
git mv               # 移动 重命名
git checkout file    # 将文件恢复到上次提交的状态,撤销修改
git checkout -- ./   # 撤销当前目录所有修改 

gitignore

.gitignore     # 添加忽略项到这个文件中
# 此为注释 – 将被 Git 忽略
*.a            # 忽略所有 .a 结尾的文件
!lib.a         # 但 lib.a 除外
/TODO          # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/         # 忽略 build/ 目录下的所有文件
doc/*.txt      # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

查看提交历史

git log
git log -p -2     # -p 展开内容差异 -2 显示最近2次提交
git log --stat    # 显示统计
git log --graph   # 图形化地显示提交历史
git log --pretty=oneline #  oneline, short, full, fuller
git log --since --after --until --before --author --committer --grep
git log --pretty=format:"%h - %an, %ar : %s"

修改和撤销提交

# 修改最后一次提交
git commit -m "foo"
git add forgotten_file
git commit --amend       # 只产生一个提交
# 撤销暂存
git reset HEAD some_file
# 回到上一次提交
git reset HEAD^ --soft  # 文件修改保留 HEAD^表示HEAD的父提交
git reset HEAD^ --hard  # 不保留文件修改a73752e

远程库

git remote              # 查看当前的远程库
git remote -v           # 更详细
git remote add [name] [url] # 添加远程仓库
git fetch [remote-name] # 从远程仓库抓取数据
git fetch origin        # 从服务器抓取最新的提交,不合并
git pull                # 从服务器抓取,并合并到工作目录
git push [remote-name] [branch-name] # 推送数据到远程仓库
git remote show origin     # 查看远程仓库信息
git remote rename pb paul  # 重命名远程仓库
git remote rm pb           # 删除远程仓库

tag

git tag                     # 列出已有的标签
git tag -l "v1.4*"          # 过滤
# 新建tag
git tag -a v1.4 -m "标签注释"
git show v1.4               # 显示标签信息
# 后期加标签
git log --pretty=oneline         # 找到对应提交的校验
git tag -a v1.2 9fceb02          # 追加到校验上
# 分享标签
git push origin v1.5            # 推送某个标签
git push origin --tags          # 所有的标签都推送

分支

git branch testing               # 创建分支
git checkout testing             # 切换工作目录到分支
git checkout -b iss53            # 创建分支并切换到分支
git checkout -b my2.6.14 v2.6.14 # 从tag创建一个分支并checkout
git checkout -b serverfix orign/serverfix # 从远程分支创建一个分支,并checkout
git branch --set-upstream branch remotebranch # 将已有分支跟踪远程分支
git branch --track localbranch remotebranch   # 将本地分支跟踪到远程分支
git branch -d iss53                # 删除一个分支
git branch                         # 列出分支
git branch -v                      # 列出分支详细信息
git branch -r                      # 列出远程分支
git branch --merged                # 已合并的分支
git branch --no-merged             # 未合并的分支
git push origin serverfix          # 推送分支到远程
git push origin :serverfix         # 从远程删除分支
git merge anotherbranch             # 合并另一个分支到当前分支
git merge anotherbranch --no-commit  # 合并分支但不提交

rebase 保持干净的提交历史

git rebase master

清空工作目录

git clean -x -d -f
-x 将忽略的文件一起删除
-d 将目录删除

将已删除的文件添加到暂存

git add -u

导出某个分支到指定目录

git archive master | tar -x -C  /some/path

子模块

git submodule add git://github/foobar.git
git submodule init
git submodule update
时间: 2024-12-22 11:21:14

Git 命令 一的相关文章

windows下git命令的使用

一.写在前面 关于git,出于自己的爱好,前段时间玩了一下,也自己上网查了一下资料,现简单记录一下,以备查看. 当然,本文并不是介绍配置git服务器的文章,而是以github服务器作为git的远程仓库服务器. 二.安装 windows下使用git,需要安装msysGit,下载地址是https://code.google.com/p/msysgit/downloads/list; 安装完成后,在安装目录下,有个msys.bat文件,这个就是msysGit提供的命令行客户端: 当然就像svn一样,也

常用 Git 命令清单

我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-nam

Git命令执行漏洞

Git命令造成的反弹shell 漏洞描述: Git LFS可以.lfsconfig使用LFS由存储库中的文件配置(部分),并且可以将Git LFS指向ssh://. [lfs] url = ssh://-oProxyCommand= some-command 当使用这样的.lfsconfig文件克隆存储库时,使用LFS插件的Git将尝试调用ssh以从主机获取LFS对象 -oProxyCommand=some-command.然而,SSH会将该主机名解释为一个-o选项,并随后尝试调用some-co

git命令行使用

1. git命令行配置 1)安装完git客户端之后,在任意目录右键鼠标,选择Git GUI Here 2)在打开的窗口中依次选择Help->> Show SSH Key 2)如果弹出的窗口中中间部分没有key,可以点击 Generate Key 按钮,生成key,然后将生成的key拷贝一下,添加到gitlab中即可. 2. 命令使用 1)下载代码 在存放代码的目录中,右键鼠标,选择 Git Bash Here,然后会打开终端窗口 输入: git init   创建git配置目录 输入下面命令,

常用 Git 命令清单 转

我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-nam

常用 Git 命令清单【转】

转自:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:

git命令评测

近日得知git命令在库进行操作,查找git尽管小命令(当然,也不能太小),但他们是一个非常强大的组合,更重要的是,它是非常的效果不同状态的命令是不一样的打.该博文总结git命令.. Git命令 命令小结 命令 功能 git init 把当前目录初始化为默认的git库 git add 文件名称 向git库中加入一个文件 git rm 文件名称 从git库中删除一个文件 git status 查看当前库中进行的任务 git diff 文件名称 add前查看工作区和暂存区的区别 git commit

我总结的git命令指南。

git命令行指南 1.windows上安装git的网址:http://msysgit.github.com/. 没有安装过git的 这个网址里下mymsgit. 因为发现有些同学对git还不是那么熟悉,所以我分享一下一下我自己整理出来的常用的git的命令行指令. 对了.对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地保存在本地数据库中了:已修改表示修改了某个文件,但还没有提交保存:已暂存

常用Git命令汇总

常用Git命令汇总 跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,甚至有些代码没有做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代码用Git作版本控制.平时自己虽然天天使用Git,但是总感觉知识有些零散,于是汇总了一些常用的Git命令. 常用配置 --system #系统级别 --global #用户全局 --local #单独一个项目 git config --global user.name "xxxx" #用户

Git 命令 三

如何记住密码: https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰 当出现提示输入密码,且输入了密码,完成了一次Git命令操作之后,输入以下命令: 1.设置记住密码(默认15分钟): git config --global credential.helper cache 2.如果想自己设置失效时间,可以这样做: git config credential.helper 'cache --timeout=3600' #这样就设置一个小时之后失效(单位是秒) 3.想永久