【转】Git常用命令指南
1、git init 初始化一个Git仓库,git init –bare example.git创建一个裸仓,即没有工作区的git仓库。
2、添加文件到Git仓库,分两步:
git add <filename>,该命令可以多次使用,添加多个文件;
git commit -m “commit提交注释说明”,完成。
3、git status 查看当前工作区的状态。
4、git diff <filename> 查看修改的内容,红色为删除部分;绿色为新加部分。
5、git log 查看系统中历史commit提交记录。
如:git log或者git log –-pretty=oneline,只输出一行附加参数。
其中pretty指定打印提交记录内容的格式,可选值由:oneline,short,medium,full等等。
补充,–-graph可以查看分支合并图,–-abbrev-commit打印简短commit_id。
6、git reset –-hard <commit_id> 将head指针设定为指向指定的commit_id。
HEAD表示当前版本id
HEAD^表示上一个版本id
HEAD^^表示上上个版本id
HEAD~100表示上上100个版本id
版本id也可以通过git log命令查看,commit就是了。
7、git reflog 记录每一次有关head的历史命令记录
8、工作区、暂存区、版本库三者概念。
工作区,英文名叫做working directory就是当前工作目录;
暂存区,英文名叫做stage,已添加但是还未提交到仓库的区域;
版本库,英文名叫做repository,对应为在工作区下隐藏目录.git/
补充,版本库里边又细分分支、HEAD指针等。
git add添加文件命令,将文件从工作区放到暂存stage区;
git commit提交命令就是把stage区的所有内容提交到当前分支中。
9、git checkout –- <filename> 把工作区中对filename文件的修改撤销掉,分两种情况:
其一为修改后还没放到暂存区(即还没使用git add命令)现在撤销修改就是回到版本库状态;
其二为已经添加到暂存区后,又做了修改,现在撤销修改就是回到添加到暂存区后的状态。
总之,就是让该文件回到最近一次git add或git commit时的状态。
请注意,git checkout <name> 是切换到对应的分支上。
10、git reset HEAD <filename> 把暂存区中对filename的修改撤销掉。
此处为把修改从暂存区撤销到工作区,要想撤销工作区的修改,要进一步使用git checkout –-<filename>命令处理。
若修改已经提交到版本库中,在没有把本地版本推送到远程仓库情况下可以使用git reset –-hard <commit_id>命令进行版本回退处理。
11、git rm <filename> 删除掉暂存区中的文件filename,使用git commit提交删除申请,从版本库中删除文件。
12、ssh-keygen -t rsa -C “xxx@your.company.com” 在用户主目录下生成密钥对。-t rsa指定加密方式为rsa加密方式。
13、git config –-global user.name “xxx” 设定用户名,全局有效。
14、git config –-global user.email “xxx@your.company.com” 设定邮箱,全局有效。
15、git remote add origin git@github.com:<github用户名>/<仓库名>.git 将本地仓库和github仓库关联起来。
16、git push -u origin master 将本地仓库的所有内容推送到远程仓库上,只在第一次推送的时候加上-u参数。
git push origin master可能会遇到远程有添加文件,但是本地没有,应该先执行git pull将远程仓库拉到本地仓库中。
git pull处理完毕后,再执行git push origin master推送本地仓库内容到远程仓库。
git push origin master,这边master其实一个refspec,格式为:<src>:<dst>冒号前表示local本地分支名称,冒号后表示remote远程仓库下分支名称。
若dst省略了则默认和local相同的branch分支名称,简单描述为以下几类命令是等价的:
git push origin master 远端默认名称为origin,冒号后边不写表示和本地相同。
git push origin 默认将当前HEAD所指向的分支内容push到远端。
git push origin master:master 冒号前后分别表示本地和远端的分支名称。
git push orgin master:refs/heads/master
17、git clone git@github.com:<github用户名>/<仓库名>.git 从远程仓库克隆到本地仓库。
18、git branch 查看分支;git branch <name> 创建分支;git checkout <name> 切换分支。
git branch –-set-upstream <branchname> origin/<branchname> 将本机分支和远程分支关联起来。
git checkout -b <name> 创建并切换到分支name,相当于是git branch <name>和git checkout <name>两步操作。
19、git merge <name>合并分支name到当前分支,若合并发生冲突,直接要解决冲突(通过git status查看冲突文件)
必须手动处理冲突文件,处理完毕后经过git add/commit提交过程。
--no-ff参数表示禁止使用Fast forward模式合并,应为本次合并创建一个新的提交commit,加入-m注释说明信息。
20、git branch -d <name> 删除分支name,大D参数为git branch -D <name>强行删除name分支。
21、git stash 将当前工作现场储藏起来,等以后恢复现场后继续工作。
22、git stash list 查看当前现场情况,恢复方式有:
git stash apply 恢复,但是恢复后,stash内容并不会删除,需要通过git stash drop删除。
git stash pop 恢复的同时将stash内容也删除掉,相当于是出栈操作。
23、git remote 查看远程仓库信息,加v参数为git remote -v展示抓取地址和push推送地址。
24、git pull 把别人最新的提交从远程仓库抓取下来。
25、git tag <name>[commit_id] 在commit_id处创建一个标签,commit_id默认为HEAD。
26、git show <tagname> 查看标签详细信息。
27、.gitignore文件,忽略特殊文件,参考http://github.com/github/gitignore 即可。
28、git commit --amend,重新编辑最近一次的提交注释信息,新生成了一个commit-id。
【转】Git常用命令指南的更多相关文章
- Git常用命令和Git团队使用规范指南
转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...
- Git常用命令清单笔记
git github 小弟调调 2015年01月12日发布 赞 | 6收藏 | 45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...
- 项目开发中git常用命令、git工作流、git分支模型
#新建代码库git init # 在当前目录新建一个Git代码库git init [project-name] # 新建一个目录,将其初始化为Git代码库git clone [url] # 下载一个项 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- Git 常用命令详解
Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...
- Git 常用命令大全
Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...
- Git常用命令总结
Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone ...
- GIT常用命令备忘
Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...
- Git 常用命令2
Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...
随机推荐
- 随机定时修改密码change_passwd.sh
change_passwd.sh #!/bin/sh /usr/bin/chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /usr/b ...
- sql注入文件写入和读取
系统固定文件路径:https://blog.csdn.net/ncafei/article/details/54616826 /etc/passwd c:/windows/win.ini 文件读取使用 ...
- PAT (Advanced Level) Practice 1036 Boys vs Girls (25 分)
This time you are asked to tell the difference between the lowest grade of all the male students and ...
- Android_AsyncTask异步类
·AsyncTask是一个轻量级的异步抽象类 ·Android程序刚启动时,会同时启动一个像一个的主线程,这个主线程主要负责处理与UI有关的事件,有时也被称为UI线程,Android app中必须遵循 ...
- MySQL数据库渗透及漏洞利用总结
Mysql数据库是目前世界上使用最为广泛的数据库之一,很多著名公司和站点都使用Mysql作为其数据库支撑,目前很多架构都以Mysql作为数据库管理系统,例如LAMP.和WAMP等,在针对网站渗透中,很 ...
- LeetCode 第四题 Median of Two Sorted Arrays 二人 渣渣选手乱七八糟分析发现基本回到思路1
题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the ...
- harbor仓库部署时启用https时的常见错误KeyError: 'certificate'等
出现 KeyError: 'certificate' 错误 先确认你的配置是否正确,例如harbor.yml里的https证书位置是否正确,证书是否正常无误 如果上述无误确反复报错,请确认你的harb ...
- 【Unity|C#】基础篇(19)——集合库(Collections)
[学习资料] <C#图解教程>(第6章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.c ...
- Leetcode Week2 Two Sum
Question Given an array of integers, return indices of the two numbers such that they add up to a sp ...
- 初识XXE漏洞
本文是参照本人觉得特别仔细又好懂的一位大佬的文章所做的学习笔记 大佬的链接:https://www.cnblogs.com/zhaijiahui/p/9147595.html#autoid-0-0-0 ...