Git详细命令
Git Guide
git的三种方式
只在本地使用;
将本地仓库上传到Github;
下载GitHub上的仓库;
1、只在本地使用
在Git Bush上输入命令
mkdir git-demo-1 ——创建一个目录(git-demo-1,可自定义)
cd git-demo-1 ——进入目录
git init —— 在git-demo-1里创建一个 .git 目录;
touch xxx/mkdir xxx/... —— 创建文件或者目录(可进行编辑);
git status -sb —— 显示当前所有文件的状态(可不执行此操作)
git add xxx/ git add . —— 将文件添加到暂存取,在xxx处输入文件名,前者添加指定文件,后者一次性全部添加。
git commit -m "xxx" —— 将上步add过的内容正式提交到本地仓库,.git是本地仓库,在xxx处了输入备注信息;
git log —— 可查看历史上的变动(可不执行该操作);
如果有文件有新的变动,我们只需要依次执行git add和git commit -m 'xxx' 两个命令就可以。
2、将本地仓库上传到Github
在Github上新建一个空仓库,名字随意,一般可以跟本地目录名一致;
点SSH按钮,按提示代码操作;
如果没有本地仓库:
git init;
git add README.md;
git commit -m "first commit";
如果有本地仓库:
git remote add origin git@github.com:(在Github上复制仓库地址);
git push -u origin master;
3、直接在Github上创建一个仓库,然后下载到本地
在GitHub上新建一个仓库git-demo-2,这次不创建空仓库了,而是自带README和Lisenece的仓库;
点击在页面中的[clone or down load];
确保弹出的地址是SSH地址;
打开git bash,找一个安全的目录;
运行 git clone address;
运行完就OK;
如何更新上传
git add xxx
git commit -m "xxx"
git pull
git push
其他
git remote add origin address :将本地仓与远程仓关联;
git remote aet-url origin address 挽救上一步;
Git Flow
一、新建代码库
git init 在当前目录常见一个Git代码库
git init [project-name]新建一个目录,并初始化为git代码库
git clone [url]下载一个项目和他的整个代码历史
二、配置
Git的配置文件为.gitconfig,可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)
git config --list 显示当前的Git配置
git config -e[--global]编辑Git配置文件
git config[--global] user.name "[name]"
git config [--g;obal] user.email "[email address]"
三、增加/删除文件
git add [file1] [file2]指定文件添加到暂缓区
git add [dir]指定目录添加到暂存区
git add 添加当前目录的所有文件到暂存区
git add -p 添加每个变化钱,偶读会要求确认,对于同一个文件的多出吧电话,可以实现分次提交
git rm [file1] [file2]删除工作区文件,并且将这次删除放入暂存区
git rm --cached [file]停止追踪指定文件,但该文件会保留在工作区
git mv [file-original] [file-renamed] 改名文件,并将这个改名放入暂存区
四、代码提交
git commit -m [message]提交到工作区
git commit [file1] [file2] ... -m [message]将指定文件提交到工作区
git commit -a 提交到工作区自上次commit之后的变化,直接到仓库区
git commit -v 提交时显示所有的diff信息
git commit --amend -m [message] 使用一次新的commit,代替上一次的提交,如果代码没有任何新的变化,则用来改写上次一commit的提交的信息
git commit --amend [file1] [file2]...重做上一侧的commit。并包括指定文件袋额新变化
五、分支
git branch 列出所有分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程峰分支
git branch [branch-name]新建一个分支,但依然停留在当前分支
git checkout -b [branch] 新建一个分支,并切换到该分支
git branch --track [branch] [remote-branch]新建一个分支,与指定的远程分支建立追踪关系
git branch [branch] [commit] 新建一个分支,指向指定commit
git checkout [branch-name]切换到指定分支,并更新工作区
git checkout - 切换上一个分支
git branch --set-upstream [branch] [remote-branch] 简历追踪关系,在现有分支与指定远程分支之间
git merge [branch] 合并指定分支到当前分支
git cherry-pick [commit] 选择一个commit,合并当前分支
git branch -d [branch-name]删除分支
git push origin --delete [branch-name]删除远程分支
git branch -dr [remote/branch]
六、标签
git tag 列出所有tag
git tag [tag] 新建一个tag在当前commit
git tag [tag] [commit]新建一个tag指定commit
git tag -d [tag]删除本地tag
git push origin :refs/tags/[tagName]删除远程tag
git show [tag] 查看tag信息
git push [remote][tag]提交指定tag
git push [remote] --tags 提交所有tag
git checkout -b [branch] [tag]新建一个分支,指定某个tag
七、查看信息
git status
git log
git log --start 显示commit历史,以及每次commit发生变更的文件
git log -S [keyword] 搜索提交,历史,根据关键词
git log [tag] HEAD --pretty=format:%s 显示某个commit之后所有变动,其提交说明必须符合搜索条件
git log -follow [file]
git whatchanged [file]显示某个文件的版本历史,包括文件改名
git log -p [file]显示指定文件相关的每一次的diff
git shortlog -sn显示所有提交过的用户,按提交次数排序
git log 5 --pretty --oneline显示过去5次提交
git blame [file]显示指定文件时什么人在什么时候创建的
git diff 显示暂存区和工作区的差异
git diff HEAD显示工作区与当前分支最新commit的差异
git diff --cached[file]显示工作区与上一个commit的差异
git diff --shortstat "@{0 day ago}"显示今天写了多少行代码
git show [commit]显示某次提交的元数据和内容变化
git show --name-only [commit]显示某偶次提交发生变化的文件
git show [commit]:[filename]显示某次提交时,某个文件的内容
git reflog显示当前分支的最近几次提交
八、远程同步
git fetch [remote]下载远程仓库的所有变动
git remote -v 显示所有远程仓库
git remote show [remote]显示某个仓库的信息
git remote add [shortname] [url] 增减一个新的远程仓,并命名
git pull [remote] --force强行推送当前分支到远程仓库,即使有冲突
git push [remote] --all 推送所有分支到远程仓库
九、撤销
git checkout [file] 恢复暂存区的指定文件到工作区
git checkout [commit] [file]恢复某个commit的指定文件到暂存区和工作区
git checkout恢复暂存区的所有文件到工作区
git reset [file]重置暂存区的指定文件,与上一次commit保持一致,但是工作区不变
git reset --hard 重置暂存区与工作区,与上一次commit保持一致
git reset --hard [commit]重置当前分支的HEAD为指定commit,同时重置暂存区,与指定commit一致
git reset --keep [commit]重置当前HEAD为指定commit,但保持暂存区和工作区不变
git revert [commit]新建一个commit,用来撤销指定commit,后者的所有变化豆浆被前者抵消,并且应用到当前分支
git stash 暂时将未提交的变化移除,小猴再移入
git stash pop
十、其他
git archive 生成一个可供发布的压缩包
Git详细命令的更多相关文章
- Git 详细命令集
初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件: 第二步,使用命令git ...
- Git常用命令超级详细(全网最详细)
1.新建代码库 1.1在当前目录新建一个 Git 代码库 $ git init 1.2新建一个目录,将其初始化为 Git 代码库 $ git init [project-name] 1.3下载一个项目 ...
- Git基础命令的使用——详细教程2
Git安装默认完成后,在左面点击鼠标右键,鼠标右键菜单中会多出来两个选项: a) Git GUI Here <—> 图型界面模式 b) Git Bash Here <—> ...
- git log命令全解析,打log还能这么随心所欲!
git log命令非常强大而好用,在复杂系统的版本管理中扮演着重要的角色,但默认的git log命令显示出的东西实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! ...
- GIT常用命令备忘
Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...
- 转收藏:Git常用命令速查表
一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...
- git详细教程
Table of Contents 1 Git详细教程 1.1 Git简介 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1.3 Git配置 1.3.1 ...
- 【转】Git常用命令备忘
Git配置 git config --global user.name "robbin" git config --global user.email "fankai@g ...
- 【git】git常用命令简介
使用Git也好长时间了,但一直没系统的学习过,现在总结以下工作中用到的,记录以下,以后忘记了可以来看看. 因为操作系统是Windows,所以将简单介绍一下通过git bash命令行的使用: 本文将不介 ...
随机推荐
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- Netty实现原理和使用
参考: https://www.jdon.com/concurrent/netty.html Java NIO原理和使用 参考:https://www.jdon.com/concurrent/nio% ...
- Jquery - ajax url路径问题
Jquery - ajax url路径问题 2016年04月26日 09:59:27 yuxuac 阅读数 32308 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...
- windows远程桌面不显示本地磁盘
\\tsclient\D 在资源管理器输入上面的内容就可以访问本地的D盘,但是前提是连接远程桌面的时候设置了可以访问本地D盘.
- ch6 列表和导航条
为列表添加定制的项目符号 可使用list-style-image属性:缺点是对项目符号图像的位置的控制能力不强. 常用的方法:使用list-style-type来关闭项目符号,将定制的项目符号作为背景 ...
- Day3-L-Cup HDU2289
The WHU ACM Team has a big cup, with which every member drinks water. Now, we know the volume of the ...
- SQL Server DATEADD() 函数 一步步使用教程
SQL Server DATEADD() 函数 DATEADD() 函数在日期中添加或减去指定的时间间隔. DATEADD(datepart,number,date)date 参数是合法的日期表达式. ...
- 机器学习算法中的网格搜索GridSearch实现(以k-近邻算法参数寻最优为例)
机器学习算法参数的网格搜索实现: //2019.08.031.scikitlearn库中调用网格搜索的方法为:Grid search,它的搜索方式比较统一简单,其对于算法批判的标准比较复杂,是一种复合 ...
- (十二)微信小程序实现登陆页面+登陆逻辑
微信小程序实现登陆页面 实现上面两个页面 第一个页面 <view> <!-- 上侧部分 --> <view class="top-view"> ...
- 继OpenJDK 之后,OpenJFX也将迁移到 Git
导读 近日 OpenJFX 项目负责人 Kevin Rushforth 提交了一份将 OpenJFX 迁移到 GitHub 的提案. OpenJFX 是 JavaFX 的开源实现.JavaFX 是一个 ...