【工作笔记】Git与Github经常使用使用方法
Git安装
http://www.liaoxuefeng.com/
Git配置用户信息:
git config –global user.name “SCOTT”
git config –global user.email xxx@qq.com
Git激活仓库
cd newDir
git init
Git查看当前状态
git status
Git比較与改动后文件的差异
git diff
Git增加改动后的文件
git add files
Git提交改动的文件
git commit -m “modify message”
Git查看历史操作记录
git log—查看提交历史
git log –pretty=oneline
git reflog—能够用来查看未回退之前的版本号号 然后用git reset –hard 版本号号来恢复
Git版本号回退
HEAD代表当前版本号 HEAD^表示上一版本号 HEAD^^表示上上版本号… 假设100呢?HEAD~100
git reset –hard HEAD^
Git撤销文件改动
git checkout – file能够丢弃工作区的改动
git reset HEAD file能够把暂存区的改动撤销掉(unstage)
git reset命令既能够回退版本号,也能够把暂存区的改动回退到工作区。当我们用HEAD时,表示最新的版本号。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的改动时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还增加到了暂存区时,想丢弃改动,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的改动到版本号库时,想要撤销本次提交,參考版本号回退一节,只是前提是没有推送到远程库。
Git远程克隆
假设想对某个开源项目出一份力。能够先把该项目的 Git 仓库复制一份出来,这就须要用到 git clone 命令
克隆仓库的命令格式为 git clone [url]
如:
git clone git://github.com/schacon/grit.git
git clone git@github.com:xxx/Test.git—会在本地当前文件夹建立一个Test文件夹与之同步。
代码改动后 本地add commit 最后同步到远程仓库:git push origin master
Git远程同步(使用github)
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的全部内容;
此后,每次本地提交后。仅仅要有必要,就能够使用命令git push origin master推送最新改动。
分布式版本号系统的最大优点之中的一个是在本地工作全然不须要考虑远程库的存在,也就是有没有联网都能够正常工作,而SVN在
没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完毕了同步,真是太方便了!
以下是摘录的网上的一个:
1.创建一个新的repository:
先在github上创建并写好相关名字。描写叙述。
$cd ~/hello-world //到hello-world文件夹
$git init //初始化
$git add . //把全部文件增加到索引(不想把全部文件增加,能够用gitignore或add 详细文件)
$git commit //提交到本地仓库,然后会填写更新日志( -m “更新日志”也可)
$git remote add origin git@github.com:WadeLeng/hello-world.git //增加到remote
$git push origin master //push到github上
2.更新项目(新加了文件):
$cd ~/hello-world
$git add . //这样能够自己主动推断新加了哪些文件,或者手动增加文件名称字
$git commit //提交到本地仓库
$git push origin master //不是新创建的。不用再add 到remote上了
3.更新项目(没新加文件,仅仅有删除或者改动文件):
$cd ~/hello-world
$git commit -a //记录删除或改动了哪些文件
$git push origin master //提交到github
4.忽略一些文件,比方.o等:*
$cd ~/hello-world
$vim .gitignore //把文件类型增加到.gitignore中,保存
然后就能够git add . 能自己主动过滤这样的文件
5.clone代码到本地:
$git clone git@github.com:WadeLeng/hello-world.git
假如本地已经存在了代码,而仓库里有更新。把更改的合并到本地的项目:
$git fetch origin //获取远程更新
$git merge origin/master //把更新的内容合并到本地分支
6.撤销
$git reset
7.删除
$git rm * // 不是用rm
//——————————常见错误———————————–
1.$ git remote add origin git@github.com:WadeLeng/hello-world.git
错误提示:fatal: remote origin already exists.
解决的方法:$ git remote rm origin
然后在运行:$ git remote add origin git@github.com:WadeLeng/hello-world.git 就不会报错误了
$ git push origin master
错误提示:error:failed to push som refs to
解决的方法:$ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。
//——————————————————————————
【工作笔记】Git与Github经常使用使用方法的更多相关文章
- [GIT] Git 工作流程(Git flow, Github flow flow, Git lab flow)
reference : http://www.ruanyifeng.com/blog/2015/12/git-workflow.html Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必 ...
- git和github的基本使用方法
版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com git及github是当今最流行的代码版本管理系统,以下是整理的基本使用方法,也是我的一个操作实录(w ...
- 使用Git和Github来管理自己的代码和笔记
一.Github注册 1.先注册github.com的账号,官方网站: https://github.com/ 2.登录 3.创建仓库,仓库分公开的和私有的,公开的是免费的,私有的是收费的.我现在创建 ...
- Git、Github、Gitkraken 学习笔记
<Git.Github.Gitkraken 学习笔记> 一.写在前面 1.参考资料 本文参考 <Pro Git> 一书. 在官网有免费在线版可供阅读:https://git-s ...
- 简单使用Git和Github来管理自己的代码和读书笔记
原文链接:http://my.oschina.net/bxxfighting/blog/378196 先注册github.com的账号官方网站: https://github.com/ 注册界面, ...
- 漫谈Github与开源,Git介绍以及Git的思想和基本工作原理 Git工作流程
漫谈Github与开源 文字亮点: 为什么这些优秀的工程师会开源自己的项目? 因为开源是一种精神. 无数的软件开发者苦心积虑保护自己的代码不被破解,而还是被聪明绝顶的脚本小子破解了,但破解无数软件的脚 ...
- git和github学习笔记
1. 了解Git和Github 2. 使用Github 3. Git安装和使用 4. Git基本工作流程 5. Git初始化及仓库创建和操作 6. Git管理远程仓库 7. Github Pages ...
- git for windows 的默认工作路径(HOME)的设置以及Git与GitHub之间的SSH加密协议
1.安装及配置默认路径 Windows中从GitHub上面:https://git-for-windows.github.io/ 下载安装好git后(双击,改一下需要的安装路径,一路确定就好了),安装 ...
- git 和 github 使用笔记
想干这么一件事:写一个web自动化测试的项目,部署在公司内网的小服务器上. 我想拐个弯干这件事:公司有一个工作用的windows电脑,还有一个linux Ubuntu11.04的小测试服务器.我在本地 ...
随机推荐
- C++ STL 的初步认知
学无止境!!! 尊重他人劳动,尊重出处:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html 我已经做了4年的MFC ...
- operator的各种问题
a+b = a^b + (a&b)<<1 用位运算实现两数相加 int Add(int a,int b) { return b?Add(a^b,(a&b)<<1 ...
- netcore命令行部署|跨域问题
1.在hosting中修改发布端口号,如遇见不识别IP则改成*再用命令行运行 { "server.url": "http://*:8089"} 3.给接口开外网 ...
- JStorm源代码阅读——消息的确认机制
Acker //Acker相当于一个bolt,用于处理事件 public class Acker implements IBolt { private RotatingMap<Object, A ...
- ActiveMQ使用经验与优化
摘自:http://blog.csdn.net/m13321169565/article/details/8081314 1.1 不要频繁的建立和关闭连接 JMS使用长连接方式,一个程序,只要和JMS ...
- Bzoj1452 Count
http://www.lydsy.com/JudgeOnline/problem.php?id=1452 题目全是图片,不复制了. 开100个二维树状数组,分别记录区间内各个颜色的出现位置…… 简单粗 ...
- 洛谷 P1131 选择客栈
题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号.每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均 ...
- CSS实现Footer固定底部,超过一屏自动撑开
方法一:给html.body都设置100%的高度,确定body下内容设置min-height有效,然后设置主体部分min-height为100%,此时若没有header.footer则刚好完美占满全屏 ...
- Spring入门 (IOC)
1.实现原理
- mysql开发必知必会
mysql的数据库的数据库,即存储mysql数据库的底层目录,是在/var/lib/mysql目录下(Linux,win在目录下的data中). 我们新创建的数据库db1就是在/var/lib/mys ...