文档章节

git的日常操作

z
 zhouyc
发布于 2015/09/18 17:53
字数 803
阅读 90
收藏 15

git参考

http://www.git-scm.com/book/zh/ch3-5.htmlgit中文资料

http://blog.csdn.net/yangwen123/article/details/8664342

https://github.com/abhikp/git-test/wiki/View-the-commit-log-of-a-remote-branch

1)安装Git

2)配置用户信息

git config --global user.name "username"

git config --global user.email "email"

git config --global color.ui true

3)生成公钥对

ssh-keygen –t rsa

在用户的主目录下的.ssh/中,把id_rsa.pub变为username.pub发给管理员

4)clone远程的仓库

git clone gitolite@192.168.0.102:xxx.git

克隆完成后,本地有和远程服务器一样的版本库

5)日常操作

查看当前repository的状态

git status

每天开始工作的时候,执行pull操作,把服务器上的内容合并到本地

git pull origin develop

把本地修改的文件添加到staged中(所有修改的文件)

git add –u

把本地修改的,新增加的,删除的添加到staged中

git add -A

取消所有添加到stage中的内容,不会影响到工作区和history中的内容,只是staged中的内容被history中的内容覆盖,也可用指定目录 (默认是HEAD,也可指定<commit>)

get reset *

git reset /directoryx

 

删除一个文件

git rm test.java

利用git rm删除的文件,会把状态直接更新到staged中,执行commit后会删除本地仓库中的文件,但远程服务器的文件还是保留的。

如果要删除远程仓库的test文件,执行push操作就能删除

git push origin develop

 

6)把修改的内容提交到本地仓库

git commit –m “commit message”

 

7)当确认修改完成,测试通过(或者需要和别人分享的时候,把代码推送到服务器)

git push origin develop

 

本地删除的恢复操作(本地的repository中没有删除)

rm  need_del.txt

git checkout  --need_del.txtls

 

通过git rm删除的文件的恢复

git rm need_del.txt

git reset HEAD need_del.txt

git checkout --need_del.txt

 

文件已经删除,并且通过commit提交到了本地仓库的恢复,恢复提交前的内容

git reset HEAD~1

然后内容就是提交前的状态了

# 创建新的develop分支
    git branch develop

# 切换到新分支
    git checkout develop

# 推送新的分支到git服务器
    git push origin develop

# 首先将开发好的代码推送到develop分支
    $ git pull origin develop
    $ git add .
    $ git commit -m "我开发的新功能"
    $ git push origin develop

## 对比
* 工作区与暂存区的对比  
    `$git diff`
* 暂存区与版本区的对比  
    `$git diff --cached`
* 工作区与版本区之间的对比  
    `$git diff master`
## 撤销
* 放弃暂存区中的内容,不影响工作区中的内容
  `git reset HEAD drag.js`
* 放弃工作区中的内容,还原回暂存区中的内容
  `git checkout -- drag.js`
* 撤销上一次往版本库的提交操作并重新提交
  `git commit -m "change4 drag.js and demo1.html" --amend`

## 删除操作
* 删除本地没有,但是存在于暂存区的文件  
  `git rm fn`
* 删除本地有,暂存区也存在的文件  
  `git rm -f fn`
* 放弃git的跟踪管理,不在进行git的
  `git rm --cached fn`

## 恢复
* 恢复某一个版本中的一个文件(discard working and staged)  
  `git checkout commit_id fn`
* 恢复到某一个版本  
  `git reset --hard commit_id`
* 恢复到前一个版本  
  `git reset --hard HEAD^`

 

© 著作权归作者所有

z
粉丝 2
博文 50
码字总数 15358
作品 0
大连
私信 提问
GIT科普系列2:git代码检出与日常维护

背景: 由于公司内部目前采用git来进行代码管理,因此近期会逐步更新部分关于git的介绍。一来是为了给大家提供一个集中学习和参考的地方;二来是希望通过具体的示例来给出git的操作指南。虽然...

zssureqh
2016/07/30
0
0
git日常命令

git入门简介 git基础概念 git是目前最好的版本控制系统(没有之一) branch git里面核心的内容是分支(branch),不同于svn的是,分支的成本很低,只记录变化的文件。git官方是非常推荐是使用...

dxbj1010
2016/06/23
50
2
sourcetree不好做到的一些git操作

日常中我们有很多操作通过sourcetree就可以实现界面化操作,但是有一些场景不好去实现,这里总结下: 场景1:我们有个A分支,需要跟master分支合并等待上线,我们将A分支合并到master后发现文...

tree2013
2016/11/14
56
0
Git自学成才——git merge

概念 git merge 和 git rebase 是使用率非常高的两条指令 本文对git merge的日常使用场景做一个梳理,git rebase请看 Git自学成才——rebase完整版 假设我有一个开发分支dev,有一个主干分支...

wIsper
2018/06/19
0
0
学习Git,这篇文章足矣

阮一峰和廖雪峰双峰大神教程可解决Git所有基础问题: Git基础: 廖雪峰Git教程 阮一峰Git远程操作详解 阮一峰常用Git命令清单 Git进阶 阮一峰Git使用规范流程 阮一峰Git分支管理策略 阮一峰G...

爬墙
2016/01/30
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

MySQL中的哈希索引

Memory中的哈希索引 哈希索引是基于哈希表实现的,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有的索引列计算一个哈希码,哈希码是一个较小的值,并且不同键值的...

我的眼里只有眼屎
5分钟前
0
0
C++:浅谈右值引用

1.什么是左值和右值? C/C++语言中可以放在赋值符号左边的变量,即具有对应的可以由用户访问的存储单元,并且能够由用户去改变其值的量。左值表示存储在计算机内存的对象,而不是常量或计算的...

天王盖地虎626
9分钟前
1
0
傅里叶变换

[toc] 转自https://blog.csdn.net/sw3300255/article/details/83782269(11.频域里的卷积——傅里叶变换的性质,傅里叶对,结论_3) 傅里叶变换 FFT 傅里叶变换的性质 让我们继续看看空间域和...

archted
14分钟前
2
0
程序员谈薪指北

大家都知道,程序员这个群体,特别容易出现同工不同酬的现象。很多时候,我们通过了公司的层层筛选,然后和hr要了满意的工资,兴高采烈地去入职后,突然有一天通过小道消息得知,某个同事级别...

前端老手
17分钟前
1
0
八、Java设计模式之工厂方法

定义: 抽象工厂模式提供一个创建一系列相关或者相互依赖对象的接口 无需指定它们具体的类 类型:创建型 抽象工厂-适用场景: 客户端(应用层)不依赖于产品类实例如何被创建、实现等细节 强...

东风破2019
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部