码迷,mamicode.com
首页 > 其他好文 > 详细

git指令

时间:2017-11-18 22:02:05      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:com   branch   git merge   esc   密码   模式   pull   node   网站   

## 管理代码的版本(代码) (分布式git) (集中式 svn)
- 记住是谁提交的东西
- 可以保存每个阶段的内容(备份功能)
- 可以实现历史穿越
- github 开源 多端共享
- 团队协作

> linus开发的linux系统,开发git可以实现自动合并代码,比较diff


## 安装git
- (最新版的如果提交过一次后会记住用户名和密码)
- 下载地址https://git-scm.com/

## homebrew mac的包管理器
- brew install git
- brew install node
- brew install mongodb

> https://brew.sh/index_zh-cn.html


## 使用git
- 界面化操作GUI(source tree 编辑器自带git功能)
- 命令行操作CLI

## mac下
- iterm2 + oh-my-zsh

> 如果安装过xcode 会自动安装git

## 查看git版本
```
git --version
```

## 告诉git是谁提交的代码
- 如果不配置 则不能提交代码
```
git config --global user.name 用户名
git config --global user.email 邮箱号
git config --list
```

## 初始化git(不能嵌套使用git)
- 以某个文件夹作为git管理的目录
```
git init
```

> 初始化后会产生一个.git文件夹

## 要提交git前先查看信息
```
git status
```

> 如果是红色表示未添加到暂存区中,绿色是添加到暂存区中,如果干净了表示 三个区的内容全部相同

## 添加暂存区
```
git add . 或者 -A 或者 文件名
```

## 添加到历史区
- -m参数必须添加
```
git commit -m"initial"
```

> 第一次提交叫根提交

## 查看提交历史
```
git log
```

## 比较区的不同
```
git diff
```


## 穿越
- 从暂存区覆盖工作区
```
git checkout 文件名
```

## 将本次的暂存区回到上一次
```
git reset HEAD 文件名
```

## 回滚历史区
```
git reset --hard 版本号
```

## 查看所有的版本号
```
git reflog
```

## 查看分支
```
git branch
```

## 创建分支
```
git branch dev
```

## 切换分支
```
git checkout 分支名
```

## 删除分支
- 不能在当前分支上
```
git branch -D 分支名
```

## 创建并切换分支
```
git checkout -b 分支名
```

## 在分支上添加文件
- 需要提交后才能归这个分支所有,否则你改的只是工作区内容

## 合并分支
```
git merge 分支名
```

> 默认会将分支上所有提交的内容全部合并,可以选择cherry-pick来合并某一个历史



## 添加暂存区并且提交
- 只针对提交过的文件
```
git commit -a -m ‘info‘
```

> 提交到谁的身上,本次的结果才归某个分支所有,如果再次更改分支上的内容,不提交是无法切换分支的,或者你可以先暂存起来

## 必须是历史区的结果
- 空文件夹默认不会提交(加一个.gitkeep文件)
- 默认添加.gitignore文件
```
git init
git add .
git commit -m""
```

## 链接远程仓库
```
git remote add 别名 https://github.com/zhufengzhufeng/2017008node_home.git
```

## 删除远程仓库
```
git remote -v 查看
git remote rm 别名
```

## 推送到远程仓库
```
git push 别名 master
```


## 拉取github上的代码
```
git clone 远程地址 文件夹的名字
```

## 共享仓库
- settings > collaborators 添加贡献者

## 发布静态网站
- 要求有一个固定的分支gh-pages
- 将静态内容推送到这个分支上
```
git checkout -b gh-pages
touch index.html
git add .
git commit -m "static"
git push origin gh-pages
```

## 拉取最新代码
```
git pull origin master
```

## 强制推送本地的代码
```
git push origin master --force
```

> 在推送时可能需要先拉取远程的内容,合并后再次推送,如果产生冲突 需要解决冲突

## fork(叉子)
- fork来的代码,如果别人更新了,不会影响我fork的代码
- 将fork的代码改正后,发送和并请求,请求别人帮我们合并
- 需要提交自己的更新,发送给被fork的人,请求合并

## linux命令
- pwd (print working directory) 打印当前目录
- rm -rf .git (删除文件夹)
- mkdir (创建目录)
- ls (list show 显示所有列表)
- cd (change directory 改变目录)
- touch (创建一个空文件)
- vi 文件名(编辑文件)
- i 插入模式
- esc+:wq 保存并退出
- cat 文件名查看文件内容

git指令

标签:com   branch   git merge   esc   密码   模式   pull   node   网站   

原文地址:http://www.cnblogs.com/serina/p/7857939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!