Git 命令及git服务器
Linux 服务器上安装git
yum -y install git
git config --global user.name "name"
git config --global user.email "email"
globa 参数表示这台机器上所有仓库都会使用这个配置,当然也可以对指定仓库使用指定的配置
创建仓库的两种方法:
普通 仓库 git init
裸库 git init --bare
两者的区别参见 https://segmentfault.com/q/1010000004683286/a-1020000004684114
当创建普通库时,除了 .git目录之外,你还可以看到库中所有所包含的所有源文件,拥有了一个可以浏览,修改的本地库(add,commit.delete)
一般来说,一个裸库往往被创建用于 作为大家一起工作的共享库,每个人都可以往里面 push 自己的本地修改,一个常用的方式是在库名后面加上 .git

git status 查看当前仓库的状态
git diff 查看修改的内容
git commit 提交
git log 提交历史记录
git reflog 历史命令
git reset --hard HEAD^ 文件回退
git reset --hard 23134(版本号前面几位)

在进行版本回退额时候 执行 git reset --hard 12312后,现在又后悔了,想要回到最新的状态 实行 git reflog 看到最新的一次提交的commit id 执行 get reset --hard lastid 即可回到最新状态
git chekout -- text.txt 丢弃工作区的修改 ,这让个文件回到了最近一次 commit 或 add 时 的状态
文件的删除
git rm filename 然后git commit
git push origin master
如果手动删除文件 rm -rf 1.txt 后想恢复文件 git checkout -- 1.txt 从版本库中将文件恢复
git checkout 会用版本库里的版本替换工作区中的版本,无论工作去是修改还是删除,都可以一键还原。
关于分支。

查看现在在哪个分支 git branch
创建分支 git branch name
切换到某分支 git checkout name
创建并切换到某分支 git checkout -b name
合并某分支到当前分支 git merge name
删除分支 git branch -d name 切换到a分支后,是看不见在b分支修改创建的文件,合并分支后是可以看见的


将工作现场储藏 git stash
查看工作现场 git stash list 恢复现场的两种方法
1 git stash apply 恢复后stash内容并不删除,需要通过git stash drop 来删除
2 git stash pop 恢复的同时把 stash 内容也删了

通过git remote 查看远程库的信息 git remote -v 显示更详细的信息
多人分支合作分工

使用 git push origin branch branchname 推送自己的修改
如果推送失败,则因为远程分支比你的本地分支要新,使用git pull 合并
如果合并有冲突,则解决冲突,并在本地提交
没有冲突或者解决掉冲突后,再用 git push origin branch branchname推送就能成功
如果 git pull 提示" no tracking information" 说明本地分支和远程分支没有链接关系
使用 git branch --set-upstream branch-name origin/branch-name

git config --list 查看git 的配置情况
一个git 服务器的搭建
参考链接 http://www.cnblogs.com/dee0912/p/5815267.html
git init --bare gittest.git 创建一个裸仓库 (裸仓库没有工作区)
在 hooks底下创建一个文件 post-receive
内容为
#!/bin/bash
git --work-tree=/home/www checkout -f
chown git:git post-reveive
chmod a+x post-receive
地址就是 git@ip:/home/dir/git.git
客户端每次 git clone 和pull 都要 输入密码
讲客户端的密钥 放在 服务器上进行认证
服务器配置
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启sshd服务
service sshd restart
在git 用户目录下 新建 .ssh 目录
将客户端公钥文件写入authorized_keys
chmod 600 authorized_keys
chmod 700 .ssh
在windows 的git gui 执行 git clone 看是否能克隆仓库
修改文件 推动到主分支,看post_receive内的checkout 目录有无变化
如果出现仍然输入密码之类的,检查密钥文件等的权限和所有者
Git 命令及git服务器的更多相关文章
- 每日一条 Git 命令:git merge remote master
每日一条 Git 命令:git merge remote master 当远程的分支更新后,需要将自己的代码与远程的分支合并就用以下这个命令合并. git merge remote master 如果 ...
- git命令之git rebase 的用法
rebase 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 现在我 ...
- git命令之git remote的用法
git remote git remote -v git init git add xxx git commit -m 'xxx' git remote add origin ssh://softw ...
- 第23月第24天 git命令 .git-credentials git rm --cached git stash clear
在git push的时候,有时候我们会想办法撤销git commit的内容 1.找到之前提交的git commit的id git log 找到想要撤销的id 2.git reset –hard id ...
- git命令之git clone用法
在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s):/ ...
- [转]git命令之git remote的用法
git remote git remote -v git init git add xxx git commit -m 'xxx' git remote add origin ssh://softw ...
- git命令之git tag 给当前分支打标签
git tag - 标签相关操作 发表于 2011年06月29日 由 机器猫 标签可以针对某一时间点的版本做标记,常用于版本发布. 列出标签 $ git tag # 在控制台打印出当前仓库的所有标签$ ...
- git命令之git stash 暂存临时代码
git stash — 暂存临时代码 stash命令可以很好的解决这样的问题.当你不想提交当前完成了一半的代码,但是却不得不修改一个紧急Bug,那么使用’Git stash’就可以将你当前未提交到 ...
- git命令之git mergetool vi非正常退出.swp删除不了的问题
1.git pull命令产生无法merge的错误 使用了 git mergetool命令然后...傻逼了 进入了vi操作界面,不会操作,非正常退出... 然后就产生了.swp相关文件,死活删除不 ...
随机推荐
- 提升webpack打包速度
webpack打包文件体积过大,怎么提升速度? 借助webpack visualizer可视化插件,来看构建的情况.这个问题要具体情况具体分析,看看打包文件有哪些块头比较大,哪些不常改变,最好列一个l ...
- 15树莓派安装图形界面截图工具Shutter
2017-09-27 13:02:54 参数-添加/删除软件-搜索软件名称“shutter”,勾选,点击“应用”,等待安装完成后点击“确定”.(需下载安装包后安装) 补充:更多截图软件可以https: ...
- 全是Bug
一.开始实现程序之前 1. 在文章开头给出结对使用的Github项目地址和结对伙伴的作业地址.(两个人使用同一个) 我的结对伙伴是 : 201731044205. 伙伴的作业地址: https://w ...
- JSON WEB Token(JWT)
最近面试被问及单点登陆怎么解决?自己的项目前后端分离,自己实现token认证,token有失效时间,token中包含用户基本的信息.且一个当用户重新登陆后,原来的token就会失效,这么安全的一个to ...
- [LeetCode] Shortest Distance to a Character 到字符的最短距离
Given a string S and a character C, return an array of integers representing the shortest distance f ...
- HDFS的WEB页面访问常见问题
HDFS的WEB UI管理页面 50070 端口 无法访问解决办法! 本文基于HADOOP-3..1.0,Cecntos7.0环境下进行测试,所以遇到很多新鲜的问题: 特别注意:HaDoop3.0之前 ...
- Ehcache 3.7文档—基础篇—Tiering Options
Ehcache支持分层缓存的概念,这节主要介绍不同的配置选项,同时也解释了规则和最佳实践. 一. 数据缓存到堆外 当在cache中除了有heap层之外,有一些需要注意的: 添加一个key-value到 ...
- css学习_css布局案例
1.中间栏先加载 !!!(若不是这个条件的话 ,那可以用 calc 或者flex布局来实现 中间栏自适应,左右栏定宽) 2.中间栏自适应 width:100% 3.左右栏固定宽 左中右 ...
- 20165311《网络对抗技术》Exp1 PC平台逆向破解
实验要求: 掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 掌握反汇编与十六进制编程器 能正确修改机器指令改变程序执行流程 能正确构造payload进行bof攻击 实验内容: 手工修 ...
- 关于HTTP协议学习(三)
一,目录结构 HTTPS HTTP/2 HTTP 安全 HTTP 面试 HTTP 爬虫 HTTP 资源 HTTP 抓包工具及教程 Chrome HTTP 插件 HTTP 代理服务器 HTTP 图书 二 ...