Git命令总结

1 篇文章 0 订阅
安装git:
sudo apt-get install git
创建repository(版本库/仓库):

1.创建一个普通目录:

mkdir 目录名

2.初始化仓库:

git init
#初始化完成后在目录下将出现一个.git的隐藏目录,标记当前的目录就是一个仓库,可以进行追踪仓库中的任何变化。【可以跟踪管理版本库】

3.把文件添加到仓库 :

明确一点,任何的版本控制系统,其实都只能追踪那个文本文件的改动,实质上追踪的是改动【删除一个文件属于一个改动,增加一个文件也属于一个改动,向文件中添加内容也属于一个改动】

git add 文件名  # 添加改动
git commit -m "描述信息"  # 提交到git
# -m表示每一次提交的日志,可以输入任意内容,当然最好是有意义的。

如果是第一次使用,系统会让你进行账户配置:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
查看仓库当前状态
git status
查看具体修改的内容
git diff

如果对本地的某个文件做了修改,但是还没有add,则通过git diff就可以查看本地文件按和仓库之间的差异,当修改被add之后,再查看差异则没有任何输出。

查看工作日志【提交记录】
git log --pretty=oneline
回退至之前的版本

在git中,用HEAD表示当前版本,上一个版本使用HEAD^,上上一个版本则使用HEAD^^,如果要回退到的版本比较久远,则使用commit id。

git reset --hard HEAD^
# 回退到最近的一个版本【--hard能够使得版本回退到最近的一个版本】
git reset --hard 0da4f317 
# 通过commit id回到某个指定的版本,commit id是唯一的。
git reflog 
# 查看git的提交记录,可以获取过去和未来的所有的版本。
撤销修改

情况1-修改了文件,但是还没有添加到暂存区:

git checkout -- 被修改的文件

情况2-修改了文件,添加到了暂存区,但是还没有提交到版本库:

git reset HEAD 文件名
git checkout -- 文件名

情况3-修改了文件,直接提交到了版本库:

# 直接回退到上个版本即可
git reset --hard HEAD^
删除文件

1.删除出工作区中的文件:

rm filename

2.删除版本库中的文件:

git rm filename
远程仓库
远程仓库的配置

1.生成ssh key。在终端使用命令:

ssh-keygen -t rsa -C "git注册的邮箱地址"

在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有,直接打开使用。

2.添加ssh key到GitHub

注意复制公钥的时候不包含邮箱。

3.检测ssh key是否添加成功:

ssh -T git@github.com
添加远程仓库

1.建立本地仓库和远程仓库之间的连接:

git remote add origin git@github.com:name/respname.git

2.将本地仓库中的内容推送到远程仓库:

git push -u origin master
# -u是将本地master和远程的origin进行关联,以后再次进行推送的时候就可以简化命令。
从远程仓库克隆
git clone git@github.com:github账户名/远程仓库名称.git

git支持多种协议,包括https,一般在公司中使用https协议,使用ssh支持的原生git协议速度更快。

分支管理

实际开发中并不会在master分支上直接进行开发,一般会创建多个子分支。例如:一个团队有3个人,每个人有自己的一个子分支,进行开发,当开发完成后,只需要将各自分支合并到master分支。好处:安全,不影响其他人的工作【避免冲突】
子分支可以创建,删除和切换。

切换到一个新分支dev:

git checkout -b dev
# 创建并切换分支

查看分支:

git branch

切换到分支master:

git checkout master

将子分支合并到当前分支:

git merge dev

删除分支:

git branch -d dev
bug分支

每个bug通过一个新的临时分支修复,修复后,将临时分支合并,然后将临时分支删除。
如果bug还未修复完成,暂时需要去处理其他的任务,bug分支还不能合并到主分支上,可以将当前工作现场储藏起来。

feature分支

软件开发过程中,总有很多的新功能会添加进来。
添加一个新功能的时候,给新功能创建一个新的子分支,最后将性功能的分支合并到主分支即可。
说明:如果某个功能被废弃掉,没有必要合并到主分支,则可以使用命令git branch -d 需要被删除的分支名称 直接删除【强制删除】。

多人协作

1.获取远程仓库中默认的master主分支:

git remote

2.获取推送和抓取的路径:

git remote -v
推送分支
git push 远程xxx 本地xxx
抓取分支
git pull

如果进行团队开发,每次在进行push之前,需要将对方的代码pull下来【先pull,如果出现冲突,解决完冲突之后将结果push】

标签管理
创建标签
git tag 标签名
# 给当前最新的版本创建标签
git show 标签名
# 显示指定标签的详细信息
git tag 标签名 commitid
# 给指定commit_id的版本添加标签
操作标签

1.删除本地仓库中的标签:

git tag -d 标签名

2.推送标签到远程仓库:

git push origin 标签名
git push origin --tags

3.删除远程仓库中的标签:

git push origin :refs/tags/标签名
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值