Git 简明教程--日常操作

初始化相关信息
#配置使用git仓库的人员姓名  
#配置使用git仓库的人员email  
git config --global user.name "Name"
git config --global user.email "Email"

#修改缓存时间 (当使用命令行提交时,验证密码没有设置为空,导致频繁输入密码)
git config --global credential.helper 'cache --timeout=3600'

#关闭在add文件时候出现LF和CRLF符号转义问题的警告
git config --global core.autocrlf false
常用操作
#初始化版本库
git init 库名称.git

#初始化一个裸git版本库,一半用于搭建服务器
git init --bare 库名称.git

# 将指定文件修改提交到本地缓存区
git add 

# 将所有修改过的工作文件提交缓存区
git add .           

#将缓存区文件提交到本地版本库
git commit -m "提交说明"

#同时进行add 和 commit 操作
#仅用于被成功tracked到的文件,修改后的可以,新加入的不可以
git commit -am "提交说明"

#将本地版本库修改推送到远程版本库
git push

#从远程库拉取最新提交信息,记录到.git/FETCH_HEAD文件中,不进行合并
git fetch

#将拉取到的信息与当前本地版本库进行合并
git merge

#拉取当前的远程库最新信息并进行合并到本地
git pull

# 从版本库中删除文件
git rm 
# 从版本库中删除文件,但不删除文件 
git rm  --cached
git 命令设置别名
#使用 git st 代替 git status命令
$ git config --global alias.st status

#当然还有别的命令可以简写,很多人都用co表示checkout,ci表示commit,br表示branch:
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
回滚操作1 reset
git reset               # 从暂存区恢复到工作文件,仅分支指向变化,修改未还原
git reset -- .                  # 从暂存区恢复到工作文件,仅分支指向变化,修改未还原
git reset --hard/mixed/soft   # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改 
git reset <版本号>       #将指定文件重置到指定的版本号状态,但内容仍需通过checkout还原

rest后跟参数说明
--soft,暂存区和工作区不会被切换
--mixed,暂存区会更新至指定的commit,工作区不会收到影响,这是默认的选项
--hard,暂存区和工作区同时更新到指定的commit,计入--hard回退时内容会变动,类似checkout回退操作
回滚操作2 checkout
#checkout除了能够切换分支之外,还可以进行回退
git checkout --       #将指定的file回退到修改前,即当前分支未修改的状态
git checkout HEAD~2   #将当前file回退到两个版本前的内容,内容变化
回滚操作3 revert
#reset操作,提交版本按时间有A,B,C,当前处于C,当reset回到A时,版本BC被删除
#revert操作,提交版本按时间有A,B,C,当前处于C,当revert回到A时,会先回滚到A,然后再Commit一个D,所以最后会是A,B,C,D...BC没有被删除
#revert是版本级别的操作,只能还原版本,不能直接还原文件级别的

git revert <版本号>    # 恢复某次提交的状态,恢复动作本身也创建了一次提交对象  
git revert HEAD       # 恢复最后一次提交的状态 
比较差异操作 diff
git diff            # 比较当前工作区和暂存区差异  
git diff      # 比较当前文件和暂存区文件差异  
git diff <版本号1> <版本号2>   # 比较两次提交之间的差异  
git diff .. # 在两个分支之间比较  
git diff --staged   # 比较暂存区和版本库差异  
git diff --cached   # 比较暂存区和版本库差异  
git diff --stat     # 仅仅比较统计信息  
状态与日志查看
git status          #查看当前工作区和缓存区状态
git status -s       #查看当前工作区和缓存区状态

git log  
git log       # 查看该文件每次提交记录  
git log -p    # 查看每次详细修改内容的diff  
git log -p -2       # 查看最近两次详细修改内容的diff  
git log --stat      #查看提交统计信息 

你可能感兴趣的:(Git 简明教程--日常操作)