您的位置:首页 > 其它

Git学习笔记

2016-07-07 11:39 190 查看
Issue 1: 
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管理权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git vcs