GIT使用指南

愿世间的美好,与你环环相扣。

git基本概念

工作区:存放项目代码的地方

暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以暂存区有时也叫作索引(index)

版本库(或称本地仓库):.git目录就是版本库

远程仓库:github或gitlab上建的仓库

安装:
1、msysgit是windows版的Git,下载安装即可
2、安装好后,打开Git Bash,设置全局参数
git config –global user.name “keelin”
git config –global user.email “812610493@qq.com
这俩参数配置好后,针对当前机器上所有的git仓库有效

本地仓库的使用:

一、git仓库初始化
1、git init
使用该命令将当前目录变成git管理的目录,会生成一个.git文件夹

二、提交
1、git add
使用该命令将文件添加到暂存区(如:git add readme.txt)
针对不同情况,可以添加如下参数进行add:
git add 提交单个文件
git add . // 提交所有发生变化的文件添加到暂存区(增改),不包括删除
git add -u // 只提交修改的文件和删除添加到暂存区,不包括新文件
git add -A //所有文件(. && -u 集合)

2、git commit
使用该命令告诉git,将文件提交到本地仓库(如:git commit -m ‘新增readme.txt’)

3、git status
使用该命令查看当前是否还有文件未提交到本地仓库

4、git diff
使用该命令查看当前文件(工作区文件)与本地仓库有哪些不同(如:git diff readme.txt)
不常用,一般可以通过IDE工具(eclipse、idea等)更直观的方式比对

三、版本回退
1、git log
查看提交的版本信息(由近到远)
git log –pretty=oneline 单行显示

2、git reset
使用该命令进行版本回退
git reset –hard HEAD^ 回退到上一个版本
git reset –hard HEAD~100 回退到之前100个版本 100表示之前第几个版本
重置之后,版本库、暂存区和工作区的内容全部重置为某个commit的状态,工作区中如果存在还未提交到暂存区的文件则还会继续保留。

3、git reflog
可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reset命令会使重置目标版本之后的commit版本丢失,使用git reflog ,结合git reset命令可以重新重置到已删除的commit

4、git revert
区别于git reset的版本回退,此命令回滚到某次commit且该commit之后的提交记录都会保留,并且会在此基础上新建一个提交。

四、撤销修改
1、git checkout
git checkout – readme.txt
如果本地修改的文件还未暂存,那执行此命令,就回到与版本库一样的状态
如果已经暂存,接着又做了修改,那执行此命令则回到添加暂存区后的状态

远程仓库

在了解之前,先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:ssh-keygen -t rsa –C “812610493@qq.com

第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。

一、将本地仓库push到远程仓库
1、github上新建一个仓库(略)
2、使用 git remote add origin https://github.com/sunkening0/keelin.git 将本地仓库与远程仓库建立联系
3、git push -u origin master 第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和 远程的master分支关联起来
4、以后只要本地仓库做了提交就使用 git push origin master 命令推到远程

二、远程仓库项目克隆到本地仓库
1、 git clone https://github.com/sunkening0/keelin.git 即可
2、创建和合并分支
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
3、冲突解决
合并之后文件可能会产生冲突,需要解决冲突后再提交
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>dev 是指dev上修改的内容。

三、bug分支
在当前分支开发的代码还不想提交,但是要切换到其他分支开发其他代码,可以使用如下命令:
1、git stash 将当前的工作现场隐藏起来
2、回到原来分支后,使用 git stash list 查看隐藏的现场
3、 git stash apply恢复,恢复后,stash内容并不删 除,你需要使用命令git stash drop来删除
另一种方式是使用git stash pop,恢复的同时把stash 内容也删除了。

总结(常用命令):

Git init
Git clone
Git checkout b(分支)
Git branch -a 查看所有的分支
Git add (1)
Git commit -m “提交代码”(2)
Git push (3)
以上三个步骤是最常用的。

Git remote add origin
Git push -u origin dev
Git status
Git log
Git merge dev
Git push
Git stash
Git statsh pop


-------------本文结束感谢您的阅读-------------