git常用命令汇总

背景:
大学期间做的几个项目中,都用到了git,我这个忘性大的boy,就直接把一些简单的常用命令,记在了onenote的笔记中(虽然网上很多,但是自己的用着最顺心)。要用的时候给翻一翻。
这不,刚想用心经营下博客,所以将之搬到了博客上。
你没在这儿找到想用的?呃,那关我鸡毛蒜皮事儿。。。。

git简介一手

Git是一个开源的分布式版本控制系统,当初第一次上手的时候,还觉得它挺难的,后面发现真不错哎,管理代码轻松好多。但用了挺久以后查了一查,发现搞出git的居然也是林纳斯(Linus Benedic Torvalds,Linux之父)。
呃,扯远了。聊回正题。还是按照正常套路,先来大致看下git的原理。这里在网上抓了一张图:

git常用命令汇总_第1张图片

再来比较下SVN和GIT优缺点,小本本记下。
SVN与Git优缺点比较(属面试常问提)
SVN与GIT的区别(总结)

个人常用命令

  1. 简单的全局配置信息
#设置git的全局用户名和邮箱  
git config --global user.name "username"       
#设置git的全局邮箱    
git config --global user.email "email"    
#查看git配置    
git config --list    
#编辑Git配置文件,这里按提示打开时使用默认的vi编辑器    
git config -e [--global]
  1. 新建代码仓库
#当前目录新建代码仓库  
git init     
#指定目录作为git仓库     
git init [dir]    
#克隆仓库,repo为远程仓库,dir为本地仓库(dir可省略)    
git clone [repo] [dir]  

#查看已存在的远程分支,-v参数列出详细信息     
git remote -v    
#连接远程仓库     
git remote add origin [地址]
#删除远程仓库origin   
git remote rm origin 
  1. git基本快照
#查看项目的当前状态,-s以简短结果输出  
git status -s   
  
使用 git add命令将想要快照的内容写入缓存区         
#添加指定目录到暂存区,包括子目录     
git add [dir]    
#添加当前目录的所有文件到暂存区    
git add .   
   
使用git commit 将缓存区内容添加到仓库中    
由于git每次提交都要记录同户名和邮箱需要设置全局用户名和邮箱   
#写入仓库    
git commit -m '描述信息'   
#将git add操作和git commit操作合并,但只能用于提交跟踪过的文件,新建文件不能使用        
git commit -am '描述信息'      
  
#显示已写入缓存与已修改但尚未写入缓存的改动的区别(不常用)    
git diff    
#查看已缓存的改动(不常用)    
git diff --cached    
#取消已缓存的内容    
git reset HEAD    
  
#从 Git 中移除某个文件,强制删除选项 -f,用于删除之前修改过并且已经放到暂存区域的文件    
git rm [file]  -f    
#把文件从暂存区域移除,但仍然希望其保留在当前工作目录中    
git rm --cached [file]    
#递归删除    
git rm –r [文件夹名]      
  1. 分支管理
这里当初初学时,菜鸟教程中一个简单的分支管理以及合并冲突demo:[分支管理demo](https://www.runoob.com/git/git-branch.html)     
#创建Git分支      
git branch (branchname)     
#切换分支,-b参数以后,是指新建分支并快速切换过去——[checkout检出进阶](https://www.yiibai.com/git/git_checkout.html)     
git checkout -b (branchname)    
#合并分支    
git merge   
#列出所有分支,-r参数列出远程所有分支,-a列出所有本地分支和远程分支    
git branch     
#删除分支    
git branch -d (branchname)    
  1. 简单的日志查询和标签
#日志详细信息,--oneline参数是指简洁的日志记录,--reverse是指逆序显示日志       
git log  --oneline  --reverse        
#查询指定的用户提交日志    
git log --author=[username] --oneline   
  
#查询所有标签       
git tag    
#给当前commit提交新建标签,-a参数创建一个带注解的标签,不带时日志则不会记录详细信息   
git tag -a v2.0(标签内容,版本信息)    
#给指定commit提交新建标签   
git tag -a v2.0(这是标签内容,版本信息) [commit]     
  1. 推送和更新代码库
#推送本地仓库相应分支到远程仓库,-u参数指设定默认主机,以后就可以只用git push推送了   
git push -u origin master
#推送所以分支到远程仓库
git push [remote] --all   
#删除远程master分支   
git push origin --delete master    
#强制推送,覆盖远程的master分支(有句话说:“除非一个人使用,否则push --force就是找死”)    
git push origin master --force   
  
#更新本地代码库master分支    
git pull origin master    
#更新本地时,把两段不相干的分支进行强行合并
git pull origin master --allow-unrelated-histories

笔者的废话

就这些了,毕竟笔者也只是只菜鸟。以后用到了再来补充。
笔者以为,将小本本上的笔记扔到博客上来,应该会挺简单的。没想到调个格式都花了我好几个小时。

git常用命令汇总_第2张图片

最后,分享个一个简单有意思的网站:HelloGitHub
其意义在于:分享 GitHub 上有趣、入门级的开源项目。
对新手入门GitHub的玩家十分友好。
比如我!就是在GitHub上瞎逛。

你可能感兴趣的:(版本控制)