1. 安装git
$ sudo apt-get intall git
终端输⼊git 如果有提示证明安装成功
2.git单⼈操作
2.1 创建空的git仓库:
$ git init
提示: git仓库和项⽬的根路径在⼀起,⽤来管理项⽬
2.2 配置git提交的⽤户名,邮箱
例如:
$ git config user.name 'battlemonkey'
$ git config user.email 'xxxxx@qq.com'
如果没有配置,默认使⽤的: ~/.gitconfig 根⽬录下的⽤户信息
2.3 查看⽂件状态: git status
红⾊: 表示新建⽂件, 或者新修改了⽂件,⽬前位于⼯作区中
绿⾊: 表示⽂件在暂存区
2.4将⼯作区代码, 添加到暂存区(⼯作区-->暂存区)
例如:
$ git add .
$ git add xxx.py
“点” 表示添加跟踪 所有变动, xxx.py表示跟踪指定⽂件
2.5将⼯作区代码,添加到仓库区(⼯作区—>仓库区)
例如:
$ git commit -m '注释'
2.6将⼯作区,直接添加到仓库区(⼯作区-->暂存区—>仓库区)
例如:
$ git commit -am '注释信息'
2.7查看版本历史
例如:
$ git log # log查看详细信息
$ git reflog # reflog查看简要信
2.8回退版本
# 例如:
$ git reset --hard HEAD
# 或者:
$ git reset --hard 版本号
# HEAD表示当前最新版本
# HEAD^表示当前最新版本的, 上⼀个版本
# HEAD^^表示当前最新版本的, 前两个版本, 依次类推
# HEAD~1 表示当前最新版本的, 上⼀个版本
# HEAD~2 表示当前最新版本的, 前两个版本, 依次类推
2.9撤销⼯作区,暂存区修改
- 撤销⼯作区:
$ git checkout ⽂件名 # 即: 放弃当前对暂存区文件的修改, "." 可以指代所有
- 撤销暂存区:
$ git reset HEAD ⽂件名 (暂存区-⼯作区) # 将 add . 到 暂存区的文件 退回到 工作区
$ git checkout ⽂件名 # 放弃当前对暂存区文件的修改
- 仓库区代码不能撤销,只能回退
2.10 版本对⽐
例如:
$ git diff HEAD HEAD^ -- xxx.py
# HEAD表示当前版本, HEAD^表示上个版本, xxx.py对⽐的⽂件
2.11误删除⽂件,恢复
- 格式1: rm ⽂件名(系统层面的删除操作)
# 恢复1:
$ git checkout -- ⽂件名 # 放弃当前对暂存区文件的修改
- 格式2: git rm ⽂件名(对应操作是 git add, 相当于把 删除的操作行为 提交到了 暂存区 )
# 恢复2:
$ git reset --hard HEAD^
3.git多⼈操作
3.1 clone项⽬到本地
$ git clone 项⽬地址
3.2 推送项⽬到远程仓库
$ git push
第⼀次推送会提示输⼊账号, 密码
3.3 配置是否输⼊登陆密码信息
$ git config --global credential.helper cache ⼗五分钟有效期
$ git config credential.helper 'cache --timeout==3600' ⼀个⼩时有效期
$ git config --global credential.helper store ⻓期有效
3.4 拉取远程最新代码到本地
$ git pull
4.标签
4.1 设置本地标签
$ git tag -a 标签名 -m '标签描述'
4.2 推送本地标签到远程
$ git push origin 标签名
4.3 删除本地标签
$ git tag -d 标签名
4.4 删除远程标签
$ git push origin --delete tag 标签名
5.分⽀
5.1查看当前分⽀
$ git branch # 查看分支
$ git branch -a # 查看所有分支
$ git branch review # 创建分支 review
5.2创建本地分⽀,并切换到指定分⽀
$ git checkout -b 分⽀名
5.3推送本地分⽀,到远程
$ git push -u origin 分⽀名
5.4切换分⽀
$ git checkout master / dev # 切换到主分⽀,或者是其他分⽀
必须使用git init命令创建仓库,创建文件,比如 .gitignore ,执行 git add . 和 git commit -m 'init初始化' (提交成功后),再使用 git branch 命令,才会显示出本地分支。否则报错
fatal: 不是一个有效的对象名:'master'。
$ git branch : #查看本地分支
$ git branch -a : #查看本地及远程仓库的分支
“因为git的分支必须指向一个commit,没有任何commit就没有任何分支。提交第一个commit后git自动创建master分支” -------廖雪峰
5.5合并子分⽀到主分支
git merge 分⽀
需要在master分⽀下操作改命令
5.6删除一个已被终止的分支
如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除
git branch -d <branch_name>
5.7删除一个正打开的分支
如果我们在试图删除一个分支时自己还没转移到另外的分支上,Git就会给出一个警告,并拒绝该删除操作。
如果坚持要删除该分支的话,就需要在命令中使用-D选项。
git branch -D <branch_name>
网友评论