git 常用命令

git基本理论

git 是分布式版本控制软件
git add:将本地文件,增加到暂存区
git commit:将暂存区的内容,提交到本地仓库(本地分支,默认master分支)
git push:将本地仓库内容, 推送到远程仓库(远程分支)
git pull:将远程仓库的内容,拉去到本地仓库
在这里插入图片描述
版本控制系统:集群式版本控制(svn) 分布式版本控制(git)
git优势:本地版本控制、重写提交说明、可以“后悔”、分支系统

git结构图:
在这里插入图片描述
svn:增量,每个版本只保留修改的内容
在这里插入图片描述

git:全量,每一个版本包含全部文件,时刻保存数据的完整性
在这里插入图片描述

git三种状态

1、已修改(modified)
2、已暂存(staged)
3、已提交(commited)
在这里插入图片描述

git下载

1、路径:msysgit.github.io
2、安装时:Use git from git bash only…,其他默认下一步
3、配置bin:找到git安装目录,将Git\bin目录设置到环境变量中
4、配置pash:配置用户名和邮箱
1)git config --global user.name “yq”
2)git config --global user.email “xxx.qq.com”
3)在电脑C盘用户下有.gitconfig文件可以看到刚才的配置,如:C:\Users\yanqun.gitconfig

搭建git服务器

统一git托管网站(http://github.com/)
1、注册并登录

为了本地和远程之间可以免密钥登录,可以配置SSH;先在本地配置,发送给远程
1、先在本地生成ssh:
1)ssh-keygen -t rsa -C xxxxx@qq.com 命令,一直回车
在这里插入图片描述
生成路径
2、发送ssh给远程:
1)登录github 2)右上角 -setting 3)-SSH and … 4)-New SSH
5)-title任意,key中输入刚才在本地生成的ssh:id_rsa.pub内容 (id_rsa是私钥,id_rsa.pub是公钥)
这里离注意后面有空格要删掉,可能会有影响
在这里插入图片描述
3、测试连通性
命令:ssh -T git@github.com
如果本地和远程成功通信,则可以在/.ssh目录中,看到know_hosts文件
在这里插入图片描述
在这里插入图片描述
4、建项目测试
1)、本地间一个目录,随意添加内容
在这里插入图片描述

2)在项目根目录里面,右键选择Git Bash Here,在弹出的命令窗中,输入git init命令并回车
在这里插入图片描述
生成的.git文件夹,是版本控制目录

3)建立一个远程项目
进入github网站,建立任意一个项目,会生成项目的ssh
在这里插入图片描述
在这里插入图片描述

注:ssh只是实现远程和本地的访问权限,项目还需要关联起来
4)本地与远程关联
命令行中输入:git remote add origin xxxx
xxxx是ssh内容,也可以是https内容
在这里插入图片描述
5、第一次发布项目(本地–远程)

1)文件添加到暂存区:git add .
2)暂存区添加到本地分支(默认master):git commit -m “注释内容”
3)将本地分支添加到远程:git push -u origin master

6、第一次下载项目(远程–本地)
1)下载项目:git clone git@xxxxx

7、提交(本地–远程)
git add .
git conmit -m “提交到分支”
git push origin master

8、更新(远程–本地)
git pull

常用命令

1、新建文件:touch hello.txt

2、查看状态:git status
在这里插入图片描述
3、将本地文件添加到暂存区:git add

4、将暂存区提交到对象区:git commit -m “注释”
如果注释比较多,可以使用(git commit)直接回车,在弹出的弹窗中直接添加注释,输入完成后,
ESC
shift+zz
在这里插入图片描述

5、将文件从暂存区回退到本地工作区:git rm --cashed 或者git reset head
在这里插入图片描述

6、查看提交日志:git log

7、只查看最近2次提交:git log -2

8、只显示核心日志:git log --pretty=oneline
在这里插入图片描述

9、日志指定格式输入:git log --pretty=format:“%h - %an ,%ar : %s”
%h:唯一标识符
%an:提交者
%ar:提交时间
%s:提交注释在这里插入图片描述
10、设置邮箱和用户名
1)git config --global user.name “yq”
2)git config --global user.email “xxx.qq.com”
在这里插入图片描述

11、给打开的vi编辑器显示行号:vi命令打开文件后,在命令模式下输入:set number

12、vi编辑器打开文件后,快速查找某一字符串:命令模式下输入:\sssssss

13、重置用户名或邮箱:git config --local --unset user.name
在这里插入图片描述
14、将文件修改后,放弃修改内容(还原到已提交状态):git checkout – hello.txt。注意这里–前后都有空格

15、删除已经提交的文件:git rm xxx
这个命令后,文件将从工作区删除放到暂存区
要彻底删除,还要git commit -m "xxx"操作
如果只是rm xxx指令,则只是工作区的文件删除,并没有到暂存区,如果要将删除的操作记录到暂存区,还要进行git add .

16、撤销使用git rm xxx命令后操作(还原删除):git reset head xxx 。将暂存区删除动作恢复到工作区,然后再输入命令将文件恢复回来:git checkout – xxx

17、重命名:git mv xxx1 xxx2
重命名:move,只是复制了一份,并把原来的文件删除
撤销重命名:1)git reset head xxx1 2) git checkout – xxx1 ; 3) 此时恢复了被删除的xxx1,且重命名后的xxx2还是存在的
在这里插入图片描述
在这里插入图片描述

18、注释重写:
1)查看历史log :git log
2)将上一次提交的注释进行修改重写:git commit --amend -m “xxx”

19、忽略文件,不希望提交的文件:gitignore
1)创建 .gittignore文件:touch .gitignore
2)编辑.gitignore文件内容,内容写入要忽略的文件名即可

20、通配符(可与19点命令配合使用):
1)* :任意字符
2)*.properties:以properties结尾文件
3)!b.properties:非b.properties文件
4)dir/ :忽略dir文件夹里面的文件

5)dir/*/*.txt:忽略dir任意目录里面的.txt结尾文件

分支

分支是一个commit链,一条工作记录先

查看分支
1、查看分支:git branch
2、创建分支:git branch xxx
3、切换分支:git branch checkout 分支名
4、删除分支:git branch -d 分支名
不能删除当前分支
不能删除“未合并”分支,及分支有新修改或新添加、删除内容,且没有合并到master主线,建议删除前合并
在这里插入图片描述
5、创建并分支,并切换到该分支:git checkout -b new_branch
在这里插入图片描述
6、合并分支:git merge xxx
将xxx合并到当前

7、强行删除已被增删改的分支:git branch -D 分支名
8、如果在其他分支中进行了写操作,但此操作仅局限在工作区中(没有add commit),在master中能看到这个文件;如果分支进行了commit(对象区),则master中无法查看到此文件
9、如果在其他分支中进行了写操作,但此操作仅局限在工作区中(没有add commit),在master中删除这个分区,则删除分支是可以成功的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值