Git 学习笔记

git 的使用


首先要创建一个自己ssh key 命令如下

$ssh-keygen -t rsa -C "youremail@example.com"

windows 用户可以安装Git Bash 来进行此项操作

初级git 操作命令

命令操作
git init创建Git仓库
git add fileName向仓库添加文件
git add -u向仓库添加修改后的文件
git commit向仓库提交文件
git commit -m “message”向仓库提交文件并记录本次提交的日志
git pull从远程端拉取代码到本地
git push推送本地代码到远程服务器

初级git 状态命令

命令操作
git status查看当前git 状态
git diff查看文件的修改
git diff 某版本(origin /release)git diff 支持不通版本之间的diff
git log查看提交日志
git log –pretty=oneline日志显示在一行
git reflog记录你的每一次命令查看历史命令

git 版本控制命令

命令操作
git checkout –(file 其中file 可以不写)丢弃工作区中的修改
git reset HEAD file (其中HEDAD 为版本ID)丢弃暂存区的部分
git rm (file)从版本库中删除文件
git checkout – (file)从版本苦衷还原文件

origin 远程仓库

$git push -u origin master 把本地库的所有内容推送到远程库上

注意:第一次推送要加上 -u参数

$git push origin master   把本地的代码推送到远程master 分支上

从远程拉取一个新的代码一版用clone 命令,已github为例:

$git clone git@github.com:xxx/xxx.git

git 协议又两种 一种为 https 一种为git:// 通过ssh 支持的原生协议

git 分支管理命令

命令操作
git branch查看分支
git branch (name)创建分支
git branch -a查看所有分支
git checkout (name)切换分支
git checkout -b (name)创建+切换分支
git merge (name)合并某分支到当前分支上
git brach -d (name)删除分支
git push origin –delete (branchName)删除远程分支
git push origin :(branchName)推送一个空分支到远程,相当于删除远程分支

git 标签管理命令(tag)

命令操作
git tag在控制台打印出当前仓库的所有标签
git tag -l “v0.1.*”搜索符合模式的标签
git tag v0.1.2 -loghtgit 轻量级标签不推荐使用
git tag -a v0.1.2 -m “0.1.2版本”带有诸事的标签其中-a是添加标签,-m表示后面的字符串是对该标签的注释
git checkout [tagname]切换标签,此时代码处于一个空的分支上
git show [tagname]查看标签的版本信息
git tag -d v01.1.2删除指定的标签
git tag -a v0.1.1 [版本ID]补打标签
git push origin v0.1.2将v0.1.2标签提交到git服务器
git push origin -tags将本地的所有标签一次性提交到git服务器上
删除分支命令及可以删除本地的分支
git merge --no-ff -m "merge with no-ff"  name 强制不使用Fast forward 模式进行提交

git log --graph --pretty=oneline --abbrev-commit 查看不使用Fast forward 模式的merge

Fast forward 的合并看不出曾经做过合并
这个模式在合并中好像没有什么需要注意的,至少占时我没有发现。

git 占存区命令

命令操作
git stash储藏起来
git stash list查看储藏列表
git stash apply恢复储藏的代码
git stash drop删除储藏的代码
git stash pop恢复的同事删除储藏的代码
git stash apply stash@{0}恢复到第一个版本
一般使用暂存区命令的储藏 和 恢复命令居多,其他的命令根据需求使用。
至此git的基本命令简单介绍到这里,下面开始介绍git 的一般使用技巧。

git 使用技巧

  • git 每次commit 都会生成一个唯一表示的id 你可以通过这个id获得这次提交的代码是哪个版本。
  • 通过gitlog 命令可以查看当前分支上所提交的各个版本代码的基本信息。
  • 合理使用tag 可以减少无用的分支开销,提高代码编写效率,防止分支爆炸。
以最基本的分支管理为例:

master =>基础分支
staging => 预上线分支
release =>线上分支

代码的升级方向
master -> staging -> release

代码的拉取方向
master <- staging <- release

独立的分支基于上面的分支流程开放。代码应定期从master 升级到 staging 继续升级到release 发布。

但在开发过程中要获取最新的代码应拉取release 版本的代码。

容易出现代码合并冲突的情况有:

在二个分支上做修改,取一个分支修改后合并到master 后,将另一个分支修改后合并到staging,二个分支的代码修改位置相同,当master 拉取staging的代码时会先显示有两次修改同一个位置有冲突,尽量避免这种操作。

参考文献如下:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
http://blog.csdn.net/wangjia55/article/details/8793577
http://blog.csdn.net/rainnings/article/details/9821027
http://www.yiibai.com/git/git_tag_operation.html
http://blog.csdn.net/witnessai1/article/details/52551362
http://blog.leanote.com/post/freewalk/Markdown-%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C#title-4

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值