博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工作总结-git的使用
阅读量:7233 次
发布时间:2019-06-29

本文共 2577 字,大约阅读时间需要 8 分钟。

git中使用ssh key

git中clone项目有两种方式:https和ssh
https:不管是谁,拿到url随便clone,但是在push的时候需要验证用户名和密码
ssh:clone项目你必须是拥有者或者管理员,而且需要在clone前添加SSH Key。SSH在push的时候,是不需要输入用户名的,如果配置SSH Key的时候设置了密码,则需要输入密码,否则是不需要输入密码的

git中使用SSH Key的步骤:

1.检查电脑是否存在SSH Key

cd ~/.sshls如果存在id_rsa.pub或id_dsa.pub文件,说明文件已经存在,跳过创建SSH Key步骤

2.创建SSH Key

ssh -keygen -t rasa -C “your_email@example.com”

3.查看SSH Key

cat ~/.ssh/id_rsa.pub

4.将查看的SSH Key赋值到git中设置好

5.测试SSH Key

ssh -T git@git.oschina.net 出现Welcome to xxx就可以了


git管理代码

思考:

  1. 工作区与暂存区
  2. 关联本地和远程的仓库
  3. 分支管理
  4. 标签管理
  5. 版本回退
  6. 忽略文件

工作区与暂存区

工作区 work

暂存区 index/stage

image

git checkout file 此命令会使用HEAD中的最新内容替换掉你的工作目录中的文件,已添加到暂存区的改动以及新文件都不会受到影响。git fetch origin & git reset —hard origin/master 丢去你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它

关联本地和远程的仓库

step1: 新建本地仓库

mkdir learn-gitcd learn-gitgit init

step2: 推送到远程仓库

在github上新建一个空的仓库,默认设置
github告诉我们可以从这个仓库克隆出新的仓库,也可以把已有的本地仓库与之关联,然后把本地仓库的内容推送到github仓库上
git remote add origin https://github.com/Liuhui11/learn-git.git 本地仓库关联远程仓库git remote remove origin 取消关联
git push -u origin master 将本地仓库推送到远程仓库

报错: src refspec master does not match any

原因:空仓库不能提交上去

解决:

touch READMEgit commit -m ‘first commit’git push -u origin master

分支管理

分支管理策略:
master分支:稳定、仅用来发布新版本,平时不能在上面干活
dev分支:不稳定、干活的地方,发布新版本时合并到master上
个人开发的分支:每个人都有自己的分支,最终要往dev上合并
合并分支时,加上—no-ff参数可使用普通模式合并,合并后的历史有分支,能看出来曾经做过合并;而fast forward合并就看不出来曾经做过合并

bug分支:

git stash 将当前工作现场储存起来,等以后恢复现场后继续工作
git stash apply 恢复之前的工作现场
git stash list
git stash drop 删除stash内容
git stash apply stash@{0} 恢复到指定的stash

feature分支:

为新功能创建分支
git branch -D feature-vulcan 强行删除分支

多人协作:

git remote -v 查看远程库的信息
master分支是主分支,因此时刻与远程同步
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步
bug分支只用于在本地修复bug,就没必要推到远程了
feature分支是否推到远程,取决于你是否和你的小伙伴在上面开发

git branch dev 新建git branch -d dev 删除git merge dev 合并git branch -a 查看git checkout dev 切换

标签管理

git tag v1.0 创建标签,默认标签是打在最新提交的commit上的git tag 查看标签git tag -a 
-m "blablabla..." 指定标签信息git tag -s
-m "blablabla..." 用PGP签名标签找到历史提交的commit id打标签:1.git log --pretty=oneline --abbrev-commit 2.git tag v1.0 commit-idgit tag -d v1.0 删除标签git push origin
推送指定标签git push origin --tags 一次性推送全部尚未推送到远程的本地标签git tag -d v0.9 & git push origin :refs/tags/v0.9 删除远程标签

版本回退

git log/git log --pretty=oneline 查看commit的历史记录git reset —hard HEAD^ 回退到上一个版本,或者通过commit id来回退到指定版本git reflog 记录你的每一次命令,包括未来的版本 找到之前版本的commit id可以返回到最新的版本

忽略文件

git add -f file 强制添加文件,即使被忽略了git check-ignore -v file 查看文件不能被提交是哪个规则写的https://github.com/github/gitignore 在线自动生成忽略文件忽略已经被追踪的文件git rm --cached file更新.gitignore忽略掉目标文件git add .git commit -m 或者:git update-index --assume-unchanged logs/*.log

转载地址:http://wkvfm.baihongyu.com/

你可能感兴趣的文章
redis概述与使用
查看>>
linux下如何设置和查看系统环境变量
查看>>
jaxws-webservice编程
查看>>
网众安装U盘带WINPE和MaxDOS
查看>>
Linux man文档英语单词
查看>>
oracle的权限和角色区别
查看>>
组策略管理——软件限制策略(4)
查看>>
tcp的三次握手
查看>>
u盘中的ubuntu为了减少日志系统频繁写文件所修改的/etc/fstab
查看>>
RAID浅谈
查看>>
Map接口
查看>>
IntelliJ IDEA 使用教程
查看>>
『高级篇』docker之服务发现、部署更新和扩容(七)
查看>>
『高级篇』docker之了解CICD和DevOps(41)
查看>>
shell内置命令和外部命令区别
查看>>
AD域管理浅谈
查看>>
包含目录、库目录、附加包含目录、附加库目录、附加依赖项
查看>>
Apache+SVN+Review Board代码审核服务器搭建流程
查看>>
esproc vs python 5
查看>>
分布式系统下的哈希一致性算法设计
查看>>