git 介绍
Git是目前世界上最先进的分布式版本控制系统.
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(本地仓库)
Remote:远程仓库
Git 配置文件位置
变量存储在三个不同的位置,针对三个级别
System,User和Repository:
- /etc/gitconfig 文件(一般是 Git 的安装目录): 包含系统上每一个用户及他们仓库的通用配置。如果使用带有 --system 选项的git config 时,它会从此文件读写配置变量。
- ~/.gitconfig 或 ~/.config/git/config 文件(当前用户主目录):只针对当前用户。 可以传递 --global 选项让 Git 读写此文件。
- 当前使用仓库的 Git 目录中的 config 文件(就是.git/config):针对该仓库。你可以通过git config -l --show-origin来查看当前目录下的 git 配置信息(配置来源+配置):
git 配置
配置用户名与邮箱
git config --global user.name “username”
git config --global user.email “username@email.com”
查看配置是否成功
git config --global --list
Git 操作
版本库(repository)又名仓库,即本地仓库,建立本地仓库。
mkdir 本地仓库名
cd 本地仓库名
初始化
git init
使用git init命令来初始化一个Git仓库,在执行完成仓库目录下会生成一个.git隐藏目录。
添加/删除
git add . #添加目录中所有的文件到暂存区。
git add [dir] #添加指定目录的文件到暂存区。
git add *.txt #使用通配符,添加后缀为txt的文件。
git add [file1] [file2] … #添加指定的一个或多个文件到暂存区。
git rm [file1] [file2] … #删除工作区文件,并且将这次删除放入暂存区。
git rm -f [file1] [file2] … #如果工作区文件在删除之前修改过并,且已经放到暂存区的话,必须要用强制删除选项 -f。
git rm --cached [file] #停止追踪指定文件,从暂存区中删除文件,但该文件会保留在工作区。
git mv [file-original] [file-renamed] #移动或重命名一个文件、目录、软连接,并且将这个变化放入暂存区。
提交文件
git commit -m [注释可选] #提交暂存区的所有文件到版本库。
git commit [file1] [file2] -m [注释可选] #提交暂存区的指定文件到仓库区。
git commit -a -m [注释可选] #提交工作区自上次commit之后的变化,直接到仓库区,不需要执行git add命令。
git commit -v #提交时显示所有diff信息。
git commit --amend -m [message] #使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息
比较文件
git diff命令比较文件的不同,即比较文件在暂存区和工作区的差异。
git diff [file] #查看暂存区与工作区之间的差异。
git diff --cached [file] #或 git diff --staged [file],显示暂存区与上一次提交(commit)之间的差异。
git diff HEAD #查看已缓存的与未缓存的所有改动。
git diff [first branch] [second branch] #查看两个分支之间的差异。
回退版本
git reset 命令用于回退版本,格式如下:
git reset [–soft | --mixed | --hard | --keep] [HEAD]
提交日志
git log #显示当前分支的版本历史。
git log --stat #显示commit历史,以及每次commit发生变更的文件。
git log -S [keyword] #根据关键词搜索提交历史。
本地仓库与远程仓库关联
git remote add origin git@github.com:XXX-
workspace/Test.git #XXX-workspace/Test.git 要替换成与本地仓库相关联的Github远程仓库,远程仓库命名为origin,这是Git默认的叫法可以更改。
git remote -v #显示所有远程仓库
git remote show https://github.com/XXX-workspace/Test #显示远程仓库的信息。
文件推送
git push <远程主机名> <本地分支名>:<远程分支名> #如果本地分支名与远程分支名相同,则可以写作:git push <远程主机名> <本地分支名>
git push --force <远程主机名> <本地分支名> #如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数
git push <远程主机名>–delete <远程分支名> #删除主机的分 支可以使用 --delete 参数。
远程库克隆
git clone https://github.com/ABC/ABC-workspace.git [本地目录]
git clone git@github.com:ABC/ABC-workspace.git [本地目录]
创建分支
git branch #查看分支,当前分支前会标一个 *。
git branch new_branch #新建分支 new_branch。
git checkout new_branch #切换到 new_branch 分支。
git checkout -b new_branch #git checkout命令加上-b参数表,示创建并切换。
合并分支
git merge new_branch#git merge
删除分支
git branch -d new_branch #git branch -d
赞助广告
感谢 lxeridium品牌赞助. 品牌官网:http://www.lxeridium.com
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !