git的使用

来源:互联网 发布:linux ftp查看文件 编辑:程序博客网 时间:2024/04/28 21:21

1、git关于目录的一些概念

三个分区:

工作区,即当前工作的文件夹

暂存区:也被成为Index或stage,用于缓存修改

版本库:各分支以及指向分支的指针

2、配置:--system为所有用户配置,--global为当前用户配置,--local为当前文件夹配置

git config --global user.name “”  #配置用户名,push时需要有自己的名字

        gitconfig --global user.email 3748374@qq.com #配置邮箱地址

git config –list #列出所有配置信息

3、生成SSH:

ssh-keygen -t rsa -C “3748374@qq.com”,如果不设置密码可连续按三次Enter键生成成功,在.ssh目录下生成id_rsa和id_rsa.pub两个文件,前者为私钥后者为公钥,将后者复制并在git上进行配置,这样git服务器与客户端进行ssh通讯时将自动加密。

4、初始化有两种办法:

在本地目录创建版本库: git init 然后可以上传至服务端:git remote add [remotename][remoteurl],例如:gitremote add origin git@server-name:path/repo-name.git

从服务端克隆到当前目录: git clone [remote-url][local-dir] ,local-dir也可以为空,默认是在当前目录下克隆服务端文件目录。

5、添加、提交

git add [local-path] 添加某文件到暂存区,只有暂存区的内容才会被提交。

git commit -m “[message]”,-m表示该版本的备注信息,如果没有该选项会跳转到编辑模式让用户输入信息。

6、撤销修改:

git checkout -- filename  #回滚该文件到add或commit前的状态,如果您最近的修改还没git add,文件会回滚到上一次git commit 的状态,如果你已经git add 并又做了修改,回滚到上一次git add的状态,这说明命令只能撤销工作区下的修改,不能撤销暂存区和版本库中的修改。

git reset HEAD [filename] #撤销暂存区修改,并且暂存区修改被移出到工作区,注意多次add到暂存区的修改不会被按顺序撤销,上一次commit之后的所有暂存将一次性被回退。

7、版本回退回退操作:

git reset HEAD~n#回退到前n个版本

git reset [options][comitid] #回退到指定id的版本

options:

--mixed #这时默认模式,只回退暂存区,不回退工作区

--soft   #只回退版本,暂存区和工作区不做修改,作用举例:加入版本已经有a-b-c,我们想把a-c的变化patch给别人,直接操作会导致两个patch,那怎么办么,git reset –soft a,将版本重置到a,这时b c已经不存在了,但c状态的所有修改都还在,重新提交到d,则版本树变为a-d,此时patch即可。

--hard   #重置暂存区和工作区,commit以后的所有内容被丢弃

--keep    #重置暂存区,重置与版本库不同的文件,如果有本地修改,重置退出。

--merge  #重置暂存区,并重置和版本库不同但和暂存区相同的文件

8、显示历史记录

              gitlog [--oneline] #显示commit的sha值、作者、日期、提交时的备注信息,可选项—oneline表示精简输出日志,只显示sha值前几位和备注信息。

              gitreflog #查看版本库的所有操作记录,可用于查看sha值并找回已回退版本的之前版本。

9、标签

git tag “标签”

10、推送

git push 远程名 本地分支:远端分支 #本地分支为空相当与删除远端分支

11、拉取

git pull 远程名 远端分支:本地分支

12、分支查询、创建、切换、删除、合并

git branch                    #列出所有分支

git branch 分支名        #创建分支

git checkout 分支名     #切换分支

git branch -d 分支名    #删除分支

git merge 分支名         #合并分支

13、远程

git remote [-v] #查询远程名和地址


git的一个简单教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

git的一个操作总结结构图:


0 0
原创粉丝点击