git

1.gitbub上博客搭建

参考1
参考2

2.获得秘钥

ssh-keygen -t rsa -C “邮箱地址”
cat ~/.ssh/id_rsa.pub


1.基本概念

每个文件同时有四种状态,相当于4份文件,分别在工作区、暂存区、分支(HEAD)、远程服务器

工作区: 编写和修改的代码都是在工作区
工作区 到 暂存区: git add xxx
暂存区 到 分支(HEAD): git commit -m ‘描述’ xxx
分支(HEAD) 到 远程服务器: git push origin masetr
远程服务器 到 工作区: git pull


2.基本命令

1.常用命令

git init 初始化git
git add xxx 添加到暂存区
git commit -m ‘说明信息’ xxx 提交到分支HEAD
git push origin master 上传到远程服务器
git pull

git remote add origin https://github.com/xxx/Project.git 本地初始git和远程git连接
git status 查看文件状态
git reflog 查看命令历史

git diff fileName 工作区和暂存里fileName文件区别
git diff –cached 暂存区和HEAD里的不同
git show 626eb9dfcd… 工作区和HEAD里的不同

2.全局设置

git config –global color.status auto 颜色设置
git config –global color.branch auto
git config –global user.name “Example Surname”
git config –global user.email “your.email@gmail.com”

3.临时缓存工作区

从远程分支 pull 代码,但本地已经有了一些修改又不能提交

1.临时缓存本地修改的代码
2.从远程分支 pull最新代码
3.临时缓存的代码和从远程pull的代码合并
4.检查合并是否成功,临时缓存区是否还有缓存内容

git stash list 查看缓存区
git stash 工作区 到 缓存区
git stash pop 缓存区 到 工作区

4.连接服务器

git clone url
git remote -v 查看git地址


3.常用处理

1.还原

1.只在工作区修改有提交到暂存区(git add xxx)

git checkout – hello.rb 从工作区还原

2.已经提交到暂存区还没有(git commit)

git reset HEAD file 从暂存区移除
git checkout – hello.rb 从工作区还原

3.已经(commit)提交到 HEAD

1.git reset commitID file file两个状态add前和add后的,此时的file是两个文件
add前:commitID 的文件
add后:当前文件
git reset commitID 这次 commit 的所有文件

2.git checkout – hello.rb 当前工作区恢复 add前:commitID 的文件

4.根据 commitID 恢复某个版本

git reset –hard commitID
git rebase –skip 直接用远程分支的取代当前分支的 也就是覆盖了本地的代码

2.冲突

1.git status 查看冲突的文件
2.手动修改,<<<<<、======、>>>>> 等标书都清除掉
git checkout –ours xxx 接受我的
git checkout –theirs xxx 接受他人的

3.git add xx
4.git commit -m ‘xxxxxxxx’ xxxx
5.git push origin master 解决完冲突后必须要先上传
先 git stash 之后 git pull 当执行 git stash pop 时才会产生冲突。

6.git commit -i 冲突文件名
commit 后从远程服务器 pull ,出现冲突,先解决冲突的文件。
解决后,commit -i 冲突文件,在执行pull

3.查看log

git log
git log –after=”2014-07-10T21:07:22+0200” 减去 6 小时
git log –pretty=oneline 简化显示

git log -p -2 每次提交的内容差异,显示近两次的
git log -p 文件 文件历史修改内容
git log –stat 简要显示提交了那些文件
git log –author=johannes.schindeli 查看某个人得提交记录

git diff –stat origin/master 查看commit但没有push文件
git diff file_name 查看工作区修改内容
git reflog 你commit历史记录

4.分支

1.创建分支
git checkout -b name 创建并切换
git checkout name 创建

2.删除分支
git branch -d name 没有合并的分支不能被删除
git branch -D name 强行删除分支

3.查看所有分支
git branch –all

4.分支切换
git checkout 分支name
remotes/origin/replaceui
git checkout replaceui

5.临时切换到某次提交
git checkout commitID
git checkout master 从临时切换到得 commitID 切换回来

6.合并分支
git merge name 把 name 分支合并到当前分支
git status 查看状态红色的文件要解决冲突,之后在重新git add xxx 和 commit

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值