Git使用总结
一. Git是什么
Git是目前世界上最先进的分布式版本控制系统
工作流程:
名词
-
master: 默认开发分支
-
origin: 默认远程版本库
-
Index / Stage:暂存区
-
Workspace:工作区
-
Repository:仓库区(或本地仓库)
-
Remote:远程仓库
二:Git基本原理
三 :操作
1.配置
1.1 全局指定仓库的用户名和邮箱(为了区别不同的开发人员身份)
git config --global user.name zxc
git config --global user.email [email protected]
1.2 项目级别/仓库级别
git config user.name zxc
git config user.email [email protected]
1.3 查看配置文件
git config --list 显示当前Git配置
git config -e [--global] 编辑Git配置文件
2.新建代码库
git init 在当前目录新建一个Git代码库
git init [project-name] 新建一个目录,初始化为 Git代码库
git clone [url] 克隆一个项目
3.基本操作
git status : 查看当前仓库中文件的状态。
git status -s : 文件状态的简写(M - 修改, A - 添加, D - 删除, R - 重命名,?? - 未追踪)
git add <文件名> :将后方紧跟的文件进行暂存,以便commit使用。
git checkout -- <文件名> :撤销对尚未暂存文件的修改,该操作不可逆,慎用。
注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了
git commit -a : 对那些被修改的文件单尚未暂存和提交的文件进行暂存和提交。注意:对未暂存的新增文件无效。
git commit : 对暂存区的文件进行提交到本地仓库
git rm : 删除工作区文件,并将这次删除放入暂存区
git rm --cached[file] : 停止追踪指定文件,但该文件会保留在工作区
git reset HEAD <文件名> : 将已经暂存的文件进行撤销,回到未暂存的状态
4.查看信息
git status : 查看有变更的文件
git log : 显示当前分支的版本历史
git log --pretty=oneline :漂亮格式查看版本历史
git diff : 查看工作区和暂存区的差异
git reflog : 查看当前分支的所有历史
5.版本回退
git reset --hard[局部索引值]
git reset --hard HEAD^ :一个^表示后退一步,n个表示后退n步
git reset --hard HEAD~n : 表示后退n步
6.分支
在版本控制中,使多条线同时推进多个任务
git branch 显示所有本地分支
git branch -v 查看分支
git branch -a 列出所有本地分支和远程分支
git branch[分支名] 创建一个分支,仍保留当前分支
git branch -d [branch-name] 删除分支
git checkout [分支名] 切换分支
git checkout -b [分支名] 创建并切换分支
合并分支
1.切换到接受修改的分支 git checkout
2.执行merge命令,合并修改 git merge [有新内容的分支]
7.查看和修改远端地址
git remote -v 显示所有远程仓库
git remote add [别名][远程地址] 设置默认远程版本库
git remote rm [仓库别名] 删除远端地址
git remote rename [仓库别名] 修改名称
git remote show [remote] 显示某个远程仓库的信息
git fetch[remote] 下载远程仓库的所有变动
git pull [remote] [branch] 取回远程仓库变化,并于本地分支合并
git push [remote] [branch] 上传本地指定分支到远程仓库
git push [remote] --all 推送所有分支到远程仓库
由于本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:
第一步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:
$ ssh-****** -t rsa -C "[email protected]"
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
第二步:登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。