git仓库使用

 一、git命令参数

usage: git [--version] [--help] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

最经常使用的 git 命令有:
   add        添加文件内容至索引
   bisect     经过二分查找定位引入 bug 的变动
   branch     列出、建立或删除分支
   checkout   检出一个分支或路径到工做区
   clone      克隆一个版本库到一个新目录
   commit     记录变动到版本库
   diff       显示提交之间、提交和工做区之间等的差别
   fetch      从另一个版本库下载对象和引用
   grep       输出和模式匹配的行
   init       建立一个空的 Git 版本库或从新初始化一个已存在的版本库
   log        显示提交日志
   merge      合并两个或更多开发历史
   mv         移动或重命名一个文件、目录或符号连接
   pull       获取并合并另外的版本库或一个本地分支
   push       更新远程引用和相关的对象
   rebase     本地提交转移至更新后的上游分支中
   reset      重置当前HEAD到指定状态
   rm         从工做区和索引中删除文件
   show       显示各类类型的对象
   status     显示工做区状态
   tag        建立、列出、删除或校验一个GPG签名的 tag 对象

命令 'git help -a''git help -g' 显示可用的子命令和一些指南。参见
'git help <命令>''git help <指南>' 来查看给定的子命令帮助或指南

二、git使用方法

git中的结构组成包括:
工做区(working directory),它就是咱们工做的目录区域
版本库(Repository),由版本控制建立的.git文件目录
git仓库中最重要的是index缓存区,在使用git add时它其实是将文件改动添加到了仓库缓存区中,另外一个文件为master它是git自动建立的惟一一个master分支,在使用git commit提交时实际上时将改动提交了主分支上master,还有一个HEAD指针,它直接指向master中的最新版本,版本切换就是调用了HEAD指针指向要切换的版本html


(1)建立版本库
#配置我的信息
git config --global user.name "username"
git config --global user.email "youremail@163.com"git

#建立版本库
mkdir learngit
cd learngit
git initgithub

(2)提交到仓库
git add test.py #将文件提交到索引index
-n #只显示文件不添加文件
-v #显示详细
-f #强制添加被忽略的文件
-i #在树结构中添加修改文件内容
git commit -m 'add test' #提交到仓库windows

(3)查看工做区状态
git status
#查看修改的内容
git diff test.py
git diff HEAD -- test.py缓存

#查看提交历史
git log
git log --pretty=oneline #简短输出信息
git log --graph --pretty=oneline --abbrev-commit #查看分支合并状况app

#退回到上一个版本
git reset --hard HEAD^ssh

#前进到下一个版本
git reflog #查看历史命令,找到commit_id
git reset --hard 3b13954 #经过ID前进到下一个版本ide

#撤销修改
#当文件只是在工做区修改了,要撤销修改使用一下命令
git checkout -- test.py
#当文件修改提交到缓存区后,想要撤销修改须要先从缓存区丢弃修改而后再在工做区撤销便可
git reset HEAD test.py
git checkout -- test.py
#当文件修改被提交到版本库后,想要撤销修改就须要使用版本回退了
git reset --hard HEAD^fetch


#删除文件
#若是文件被删除了须要在版本中将文件删除
rm test.txt
git rm test.txt
git commit -m 'remove test.txt'
#若是文件是被误删的,可使用如下命令恢复或者退回到上一个版本
git checkout -- text.txt #若是文件还在版本库中使用此命令
git reset --hard HEAD^ #若是文件被完全删除了能够回退到上要给版本网站

(4)远程仓库
#1.要添加到远程仓库首先须要注册一个github帐号
#2.在本地建立SSH key执行如下命令,一路回车便可,它会在用户目录下生成一个.ssh文件夹,里面建立了两个文件id_rsa为私钥文件本身使用的,一个是id_rsa.pub为公钥文件,须要上传到github网站上
ssh-keygen.exe -t rsa -C "920664709@163.com"
#3.登录github帐号,选择设置,在设置中找到SSH keys而后点击add SSH Key添加公钥,随便写个标题,将咱们建立的公钥内容粘贴进来,保存便可
#4.关联远程库
#在命令行建立新的存储库
echo "#spider-test" >> README.md
git init
git add README.md
git commit -m "first commit"
#关联远程存储库
git remote add origin git@github.com:Qithird/Spider-12306.git
#查看远程仓库的名字,-v显示详细
git remote -v
#5.推送分支的全部内容
git push -u origin master
#6.推送更新
git push origin master

#7.克隆远程仓库
git clone git@github.com:Qithird/Spider-12306.git

(5)分支管理
#每次提交git会将修改提交到master分支上,HEAD指针指向master,而当咱们建立新分支后HEAD则指向新分支,表示当前分支
#查看分支
git branch
#建立分支
git branch <name>
#切换分支
git checkout <name>
#建立+切换分支
git checkout -b <name>
#合并某分支到当前分支
git merge <name>
#删除分支
git branch -d <name>
#查看分支合并图
git log --graph
#开发中不要在master分支上开发,而是在dev分支上,在合并分支是加上--no-ff参数能够用普通模式合并,合并后历史记录有分支信息

#暂时存储分支,如在工做中接到临时任务须要处理,而当前的分支任务没完成没法提交时,可使用stash功能来将当前工做现场储藏起来,等完成后再恢复如今便可
git stash #储藏现场分支
git stash list #查看stash
git stash pop #恢复现场并删除stash
git stash apply #只恢复如今不删除stash,继续能够上面的命令删除stash

#删除一个没有被合并过的分支使用-D强行删除
git branch -D <name>

#推送分支
git push origin branch-name
#抓取远程的新提交
git pull
#创建本地分支与远程分支的关联
git branch --set-upstream branch-name origin/branch-name

 

#windows系统下命令行报错:warning: LF will be replaced by CRLF in readme.txt.The file will have its original line endings in your working directory.#解决方法:rm -rf .gitgit config --global core.autocrlf false

相关文章
相关标签/搜索