Git

来源:互联网 发布:linux常用命令有哪些 编辑:程序博客网 时间:2024/05/18 01:12

Git

Git安装

进入官网下载安装界面Git,选择符合自己系统的安装包
which -a git
git -version
ls -ah 显示.git目录
初始化一个Git仓库,使用git init命令。
添加文件到Git仓库,分两步:
第一步,使用命令git add file.name,注意,可反复多次使用,添加多个文件。
第二步,使用命令git commit -m ‘注释’,完成。

设置用户名(用户名最好和GitHub保持一致)和邮箱

git config –global user.name
git config –global user.email
git config –list

Git工作模式

工作区,暂存区,版本区
从工作区到暂存区,可理解为过渡区 ,避免错误操作,保护工作区和版本区 分支处理

Git命令

git add file.name将文件添加到暂存区
git add .将文件添加到暂存区
git commit 将文件提交到版本库
git commit -m ‘注释’ 将文件从缓存区提交到版本库
gii commit -a -m ‘注释’ 将文件直接从工作区提交到版本库
git clone git@github.com:michaelliao/gitskills.git 从github上克隆文件到本地
git status 查看工作区的状态
git log 查看历史记录

对比

git diff file.name 查看修改内容(工作区域和暂存区域对比)
git diff –cached(–staged) file.name 查看修改内容(暂存区域和版本库对比)
git diff master 查看修改内容(工作区域和版本库对比)

撤销

git reset HEAD file.name 丢弃工作区现有文件版本,把当前文件在暂存区版本复制(撤销)到工作区,并清空该文件在暂存区的版本记录(从暂存区撤销到工作区)
git checkout –file.name 丢弃工作区的修改,把当前文件在版本库中的版本复制(撤销)到工作区,并清空该文件在版本库中的版本记录(从版本区撤销到工作区)
git commit -m ‘注释’ –amend 撤销已经提交到版本库中的文件到暂存区,和下一个提交暂存区中的文件再一起提交到版本库中

删除

git rm file.name 如果工作区中该文件被删除,执行该命令只删除暂存区文件
git rm -f file.name 同时删除工作区域和暂存区的文件(前提是工作区和暂存区都存在这个文件)
git rm –cached file.name 如果工作区和暂存区都存在这个文件,那么只删除暂存区文件

恢复

git checkout commit_id file.name 把文件返回到 commit_id版本(针对某一个文件返回到特定版本,从版本区返回)
git reset –hard commit_id 返回到 commit_id版本(针对所有文件返回到特定版本,从版本区返回)
git reset –hard HEAD^ 往回退一个版本,从版本区返回
git reset –hard HEAD~number 往回退number个版本,从版本区返回
git reflog 记录每一次输入的命令

同步到远程仓库

git push origin master 同步到远程地址的主分支
git remote 查看远程仓库的名字
git remote add 修改远程仓库的名字
git remote add origin 添加默认的远程仓库的名字(前提是没有从远程仓库克隆文件/或者没有远程地址)
git remote -v 查看远程地址

更新本地版本

git fetch 获取远程版本需要手动合并
git diff master origin/master 本地版本库和远端版本库之间对比
git merge origin/master 手动合并差异
git pull 直接把远程版本与本地版本合并(自动合并差异)

分支

git branch name创建一个分支
git branch –merged 查看已经和master合并的分支
git branch –no–merged 查看没有和master合并的分支
git branch -d name 删除分支(不能删除没有与master合并的分支)
git branch -D name 强制删除没有与master合并的分支
git checkout -b name 创建并切换分支
git checkout master/name 切换分支
git merge orgin/master 合并远程版本库和本地版本(git merge应该在主分支(master)上执行)

git tag name

git config -l 查看全局的配置信息
git config –local –list 查看全局的配置信息
git config –global user.name 查看全局配置的用户名
git config –global user.email 查看全局配置的邮箱

注意分支和 fork pull request的区别
分支是本地的概念 fork pull request是远程仓库的概念

ssh-keygen -t rsa -C "youremail@example.com" 用来设置SSHgit remote add origin git@github.com:michaelliao/learngit.git 关联一个远程库 $ git push -u origin master 第一次推送master分支的所有内容git push origin master 推送最新修改
原创粉丝点击