Git学习笔记
2016-07-07 11:39
190 查看
Issue 1:
Solution 1:
git pull origin master --allow-unrelated-histories
Git是世界上最先进的分布式版本控制系统
VCS Version Control System 版本控制系统 CVS SVN
Linus 2 Week Linux C
集中式版本控制系统 分布式版本控制系统
1 安装
$ git //查看是否安装Git
$ git --version //查看Git版本
$ sudo apt-get install git //Linux新版安装
$ sudo apt-get install git-core //Linux旧版安装
$ git config --global user.name "test" //配置用户名
$ git config --global user.email "test@126.com" //配置邮箱地址
2 初始化
$ mkdir learngit //创建目录
$ cd learngit //进入目录
$ pwd //当前目录
$ git init //初始化本地仓库
$ ls -ah //查看带点的文件
$ touch readme.txt //创建文件
$ echo "Git is a version control system.">>readme.txt //向文件写入内容
$ cat readme.txt //查看文件
$ git add readme.txt //从工作区添加到暂存区
$ git commit -m "wrote a readme file" //提交到分支
3 状态查看
$ git status //查看状态
$ git diff readme.txt //对比修改
4 查看日志
$ git log //查看提交日志
$ git log --pretty=oneline //显示一行
$ git reset --hard HEAD^ //回退到上一版本
$ git reset --hard 3366889 //回到某个版本
$ git reflog //查看命令日志
5 撤销操作
工作区 learngit 添加到暂存区
版本库 .git
state 提交到分支
master
HEAD 指向分支
新建文件 git add 到暂存区 git commit 到分支
Git管理修改而非文件
$ git checkout -- readme.txt //撤销工作区的修改
$ git reset HEAD readme.txt //撤销添加暂存区
6 删除文件
$ rm readme.txt //删除文件
$ git rm readme.txt //暂存区中删除文件
$ git commit -m "delete" //提交修改
$ git checkout -- readme.txt //撤销工作区修改
7 远程仓库
$ github.com coding.net
$ ssh-keygen -t rsa -C "test@126.com" //生成私钥公钥
.ssh id_rsa id_rsa.pub
$ git remote add origin git@github.com:test/learngit.git //关联远程仓库
$ git push -u origin master //第一次 -u
$ git push origin master //提交到远程仓库
$ git clone git@github.com:test/learngit.get //从远程仓库克隆
8 分支管理
$ git checkout -b dev //创建并切换到分支
$ git branch dev //创建分支
$ git checkout dev //切换分支
$ git branch //查看分支
$ git branch -d dev //删除分支
$ git merge dev //合并dev分支到当前分支
$ git log --graph --pretty=oneline --abbrev-commit //图形log
$ git merge --no-ff -m "merge with on-ff" dev //有log的合并
master
-dev //merge to master for a version
--michael //merge to dev
--bob //merge to dev
9 保存现场
$ git stash //保存现场
$ git stash list //现场列表
$ git stash pop //弹出现场
$ git stash apply stash@{0} //恢复到某个现场
$ git branch -D feature //强制删除分支
10 远程工作
$ git remote //查看远程仓库
$ git remote -v //查看远程仓库
$ git push origin master //提交本地master分支到远程仓库
$ git push origin dev //提交分支
$ git checkout -b dev origin/dev //删除远程分支
$ git push origin dev //提交分支
$ git pull //从远程仓库拉取
$ git branch --set-upstream dev origin/dev //关联远程分支与本地分支
11 标签管理
$ git tag v1.0 //添加标签
$ git tag //查看标签
$ git log --pretty=oneline --abbrev-commit //查看日志
$ git tag v0.9 622879 //添加标签
$ git show v1.0 //显示标签详细内容
$ git tag -a v0.1 -m "version 0.1 released" 336672 //带有信息的标签
$ git tag -s v0.2 -m "version 0.2 signed" f334568 //带有签名的标签
$ git tag -d v0.1 //删除标签
$ git push origin v1.0 //提交本地标签
$ git push origin --tags //提交所有标签
$ git tag -d v0.9 //删除本地标签
$ git push origin :refs/tags/v0.9 //再删除远程标签
12 配置忽略文件
$ git config --global color.ui true //配置
.gitignore
#文件开始
#windows:
Thumbs.db
#python:
*.so
#mine:
db.ini
#文件结束
$ git add -f App.class //强制添加文件
$ git check-ignore -v App.class //查看配置错误
$ git config --global alias.st status //命令重命名
13 配置Git服务器
Linux Ubuntu
$ sudo apt-get install git
$ sudo adduser git
放置id_rsa.pub到/home/git/.ssh/authorized_keys
$ sudo git init --bare sample.git
$ sudo chown -R git:git sample.git
/etc/passwd文件
git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
$ git clone git@server:/srv/sample.git
Gitosis管理公钥
Gitolite管理权限
fatal: refusing to merge unrelated histories
Solution 1:
git pull origin master --allow-unrelated-histories
Git是世界上最先进的分布式版本控制系统
VCS Version Control System 版本控制系统 CVS SVN
Linus 2 Week Linux C
集中式版本控制系统 分布式版本控制系统
1 安装
$ git //查看是否安装Git
$ git --version //查看Git版本
$ sudo apt-get install git //Linux新版安装
$ sudo apt-get install git-core //Linux旧版安装
$ git config --global user.name "test" //配置用户名
$ git config --global user.email "test@126.com" //配置邮箱地址
2 初始化
$ mkdir learngit //创建目录
$ cd learngit //进入目录
$ pwd //当前目录
$ git init //初始化本地仓库
$ ls -ah //查看带点的文件
$ touch readme.txt //创建文件
$ echo "Git is a version control system.">>readme.txt //向文件写入内容
$ cat readme.txt //查看文件
$ git add readme.txt //从工作区添加到暂存区
$ git commit -m "wrote a readme file" //提交到分支
3 状态查看
$ git status //查看状态
$ git diff readme.txt //对比修改
4 查看日志
$ git log //查看提交日志
$ git log --pretty=oneline //显示一行
$ git reset --hard HEAD^ //回退到上一版本
$ git reset --hard 3366889 //回到某个版本
$ git reflog //查看命令日志
5 撤销操作
工作区 learngit 添加到暂存区
版本库 .git
state 提交到分支
master
HEAD 指向分支
新建文件 git add 到暂存区 git commit 到分支
Git管理修改而非文件
$ git checkout -- readme.txt //撤销工作区的修改
$ git reset HEAD readme.txt //撤销添加暂存区
6 删除文件
$ rm readme.txt //删除文件
$ git rm readme.txt //暂存区中删除文件
$ git commit -m "delete" //提交修改
$ git checkout -- readme.txt //撤销工作区修改
7 远程仓库
$ github.com coding.net
$ ssh-keygen -t rsa -C "test@126.com" //生成私钥公钥
.ssh id_rsa id_rsa.pub
$ git remote add origin git@github.com:test/learngit.git //关联远程仓库
$ git push -u origin master //第一次 -u
$ git push origin master //提交到远程仓库
$ git clone git@github.com:test/learngit.get //从远程仓库克隆
8 分支管理
$ git checkout -b dev //创建并切换到分支
$ git branch dev //创建分支
$ git checkout dev //切换分支
$ git branch //查看分支
$ git branch -d dev //删除分支
$ git merge dev //合并dev分支到当前分支
$ git log --graph --pretty=oneline --abbrev-commit //图形log
$ git merge --no-ff -m "merge with on-ff" dev //有log的合并
master
-dev //merge to master for a version
--michael //merge to dev
--bob //merge to dev
9 保存现场
$ git stash //保存现场
$ git stash list //现场列表
$ git stash pop //弹出现场
$ git stash apply stash@{0} //恢复到某个现场
$ git branch -D feature //强制删除分支
10 远程工作
$ git remote //查看远程仓库
$ git remote -v //查看远程仓库
$ git push origin master //提交本地master分支到远程仓库
$ git push origin dev //提交分支
$ git checkout -b dev origin/dev //删除远程分支
$ git push origin dev //提交分支
$ git pull //从远程仓库拉取
$ git branch --set-upstream dev origin/dev //关联远程分支与本地分支
11 标签管理
$ git tag v1.0 //添加标签
$ git tag //查看标签
$ git log --pretty=oneline --abbrev-commit //查看日志
$ git tag v0.9 622879 //添加标签
$ git show v1.0 //显示标签详细内容
$ git tag -a v0.1 -m "version 0.1 released" 336672 //带有信息的标签
$ git tag -s v0.2 -m "version 0.2 signed" f334568 //带有签名的标签
$ git tag -d v0.1 //删除标签
$ git push origin v1.0 //提交本地标签
$ git push origin --tags //提交所有标签
$ git tag -d v0.9 //删除本地标签
$ git push origin :refs/tags/v0.9 //再删除远程标签
12 配置忽略文件
$ git config --global color.ui true //配置
.gitignore
#文件开始
#windows:
Thumbs.db
#python:
*.so
#mine:
db.ini
#文件结束
$ git add -f App.class //强制添加文件
$ git check-ignore -v App.class //查看配置错误
$ git config --global alias.st status //命令重命名
13 配置Git服务器
Linux Ubuntu
$ sudo apt-get install git
$ sudo adduser git
放置id_rsa.pub到/home/git/.ssh/authorized_keys
$ sudo git init --bare sample.git
$ sudo chown -R git:git sample.git
/etc/passwd文件
git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
$ git clone git@server:/srv/sample.git
Gitosis管理公钥
Gitolite管理权限
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git 使用及常用命令
- git eclipse 插件的安装
- git fork同步是什么意思?
- Git使用小坑 Out of memory错误的解决方法
- Python的高级Git库 Gittle
- 使用GIT进行源码管理――GUI客户端小结
- 使用git代替FTP部署代码到服务器的例子
- linux系统安装git及git常用命令