git
安装与设置
查看当前版本
git --version
设置
作用域,用于区分设置所适用的范围
--local //适用于本地仓库
--global //适用于当前登录用户
--system //适用于本机
设置属性
git config --local user.name '野猴子'
移除属性
git config --local --unset user.name
当设置属性时,若未明确指定作用域则默认为当前仓库(local)
当读取属性时,若未明确指定作用域则依次从local
、global
、system
查找,一旦找到即刻返回
查看config
其它配置项信息
git config --help
本地创建项目推送至远程仓库
创建本地仓库
E:\gitTest
目录下新建名为gitRepository
的文件夹,利用Git Bash
工具进入该目录下,执行如下命令将给文件指定为本地仓库
git init
或者在E:\gitTest
目录下单击右键菜单Git Bash Here
,在弹出的命令窗口中执行如下命令创建本地仓库,执行命令后会在E:\gitTest
目录下创建名为gitRepository
的文件夹
git init gitRepository
编辑文件
在当前目录下创建test.txt
文件
touch 'test.txt'
编辑test.txt
文件
vi test.txt
提交文件至缓存区
添加全部文件到缓存区
git add *
添加指定文件到缓存区
git add test.txt
提交文件至本地仓库
将已添加到缓存区的文件提交到本地仓库
git commit -m '提交test.txt文件'
在commit
命令后添加参数a
表示执行add
与commit
命令
git commit -am '添加到缓存区并提交到本地仓库'
同步本地仓库文件至远程仓库
查看本地的仓库是否有关联的远程仓库
git remote -v
添加远程仓库(origin 为添加的远程仓库名称,自定义,此方式用于本地创建的项目,不用于从远程仓库clone的项目)
git remote add origin https://github.com/xxx/xxx.git
同步到远程服务器
git push
本地下载远程仓库中的项目
克隆项目(从远程仓库下载项目)
git clone https://github.com/xxx/xxx.git
创建分支
我们一般在dev分支上进行开发,根据远端dev分支创建本地分支
-b
参数后的dev
是本地分支的名称 而origin
是远程仓库在本地的名称(默认创建) /
后的dev
是远程仓库中的分支名称
git checkout -b dev origin/dev
开发过程中的操作
更新远程仓库文件至本地
两步操作 1、更新到本地 2、合并至本地
将代码拉到本地代码
git fetch
合并至本地
git merge
可以使用pull
代替fetch
命令和merge
命令(拉取并自动合并)
git pull
文件比较
工作取与暂存区文件比较
git diff
暂存区与HEAD文件比较:
git diff --cached
查看待提交的详情
git cherry -v
查看当前仓库未同步的文件
git status
基于某个commit创建分支
-b:创建分支并将HEAD指向这个分支, 最后的那串数字是commit_id 长度可以任意截取只要能区分即可,temp为该分支的名称
git checkout -b temp 265eac26544805e320
基于某个tag创建分支
## 基于当前分支创建tag
git tag v1.0
## 推送新建tag到远端仓库
git push origin v1.0
## 基于v1.0tag创建分支,git branch new_branch_name tag_name
git branch dev v1.0
## 切换到新创建的分支
git checkout dev
## 将新创建的分支推送到远端仓库
git push origin dev
显示仓库分支
git branch -av
切换分支
git checkout master
文件重命名
操作完成后需要执行commit
命令
git mv oldname newname
删除文件
操作完成后需要执行commit
命令
##本地文件系统中将文件删除后执行后续操作
git rm filename
git commit -m "删除操作"
git push -u origin branch_name
文件临时存储
当某部分代码开发未完成时需优先修改
将目前修改的东西存起来
git stash
查看临时存放区的列表
git stash list
数据还原
git stash apply
显示提交日志
git log 、 git log --oneline、git log --oneline -n2
配合分支查看版本历史
git log --all git log --all --graph
指定不需要git管理的文件
vi .gitignore
如何还原修改?
图形化展示版本历史
gitk
删除分支 (-D 强制删除)
git branch -d fix_readme
删除远程分支
git push -d origin branch-name
对最新的一次commit message做修改
git commit --amend
git 变基命令,可做非常多的修改:比如将多个commit合并成一个,将不相邻的commit合并成一个,将
不相邻的commit合并成一个,修改历史提交信息等
git rebase
删除最近的几次提交
git reset --hard commit_id
git push --set-upstream gitlab master
git push - origin master
linux 命令
创建文件
touch readme.md
输出指定文件内容
cat readme.md
vim
编辑文件
vi test.txt
esc 表示由插入模式进入命令模式
切换到文本输入模式的命令键
键 | 功能 |
---|---|
i | 在光标左侧输入正文 |
I | 在光标所在行的行首输入正文 |
a | 在光标右侧输入正文 |
A | 在光标所在行的行尾输入正文 |
o | 在光标所在行的下一行增添新行,光标位于新行的行首 |
O | 在光标所在行的上一行增添新行,光标位于新行的行首 |