git 使用手册
第一章 git安装
第一步:安装ssh
sudo apt-get install ssh
第二步:客户端使用ssh 建立 公钥 和私钥
`ssh-keygen [-t rsa|dsa]` //两种加密方式
这里使用默认的rsa加密
`ssh-keygen` 一路enter
第三步:将客户端的公钥拷贝到服务器制定的目录下
ssh-copy-id 本地目录 user@host
第四步: 安装git服务器
ubuntu 安装 `apt-get install git`
第二章 gi基本命令
* 从远程仓库克隆到本地*
`git-clone git@10.25.0.107:/srv/sample.git`
* 取回远程主机的分支的更新,与本地的制定分支合并*
git pull <远程主机名> <远程分支名>:<本地分支名>
例 git pull origin next:master 取回远程主机的origin的next分支与本地master分支合并
远程分支与当前本地分支合并 本地分支名可省略 git pull origin next
等价与 git fetch origin git merge origin/next
如果当前分支与远程分支存在追踪关系 git pull 可省略远程分支名
例 git pull origin
如果当前分支只有一个追踪分支,连远程主机名可省略
例 git pull
手动建立追踪关系 git branch --set -upstream master origin/next
* 创建文件,添加到本地暂存区*
git add 添加文件到仓库
git add filename
命令执行成功无任何显示
* 将本地暂存区文件提交到当前分支*
git commit 文件提交到仓库
git commit -m "******"
git add命令实际上就是把要提交的所有修改放到暂存区(Stage),执行git commit就可以一次性把
暂存区的所有修改提交到分支.Git自动为我们创建了唯一一个master分支,所以,现在,git commit
就是往master分支上提交更改.
如果使用git commit 以后,发现还有未add 文件,使用git commit --amend
git add filename
git commit --amend
* 将提交内容回退*
命令git checkout
用法1: 在本地库中删除文件,使用git checkout命令可以恢复文件
ls -al
rm sample.c
ls -al
git status -s
git checkout sample.c
ls -al
既可以看到删除的sample.c 文件重新恢复了
用法2: 从自己的本地仓库修改了文件,放弃修改
git status -s
vim sample.c
git add sample.c 加入临时区
git checkout HEAD -- sample.c
git status -s
HEAD 代表是最新提交 HEAD^代表上一个提交 HEAD^^代表上上一个提交 HEAD~100 最近100个提交
git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
* 将本地分支推送到远程分支*
git push把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程
git push 远程服务器+分支名
git push origin master
* 其他常用命令*
* git rm 用来删除文件*
git log 查看日志文件
git log --graph 以合并图的方式查看
git show +commitID 看提交ID的所有操作
* git status 查看git状态*
* git diff HEAD –filename命令可以查看工作区和版本库里面最新版本的区别*
例如将本地文件修改以后, 运行命令可以看到具体修改不同
使用git mv 移动文件 使用方法同 linux shell mv
第三章 git标签管理
* 查看当前的标签*
git tag
* 创建当前分支的标签*
git tag tagname
* 查看标签的信息*
git show tagname
将本地的标签推送到远程标签库
git push origin tag tagname
删除标签
git tag -d tagname
删除已经推送到远程的标签
git tag -d v1.0
git push origin:/refs/tags/v1.0
推送全部标签
git push origin --tag
第四章 git分支管理
查看分支:git branch *代表当前分支
kobe@kobe-OptiPlex-990:~/ds/doc$ git branch
* master
查看本地分支和远程分支 git branch -a
kobe@kobe-OptiPlex-990:~/ds/doc$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
创建和切换分支
* 创建分支:*
git branch <name>
* 切换分支:*
git checkout <name>
* 创建+切换分支 等同于3.2.1+3.2.2的操作:*
git checkout -b <name>
合并某分支到当前分支:
git merge <BranchName>
注意: 合并之前需要先切换分支,不能在BranchName分支上
删除分支:
* 删除本地分支*
git branch -d <name>
* 删除远程服务器分支*
git push origin --delete 分支名字
举例如下:
kobe@kobe-OptiPlex-990:~/test$ git branch version1
kobe@kobe-OptiPlex-990:~/test$ git branch -a
* master
version1
version2
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/version2
kobe@kobe-OptiPlex-990:~/test$ git branch -d version1
已删除分支 version1(曾为 a897e1c)。
kobe@kobe-OptiPlex-990:~/test$ git merge version2
更新 a897e1c..782c5b5
Fast-forward
kobe@kobe-OptiPlex-990:~/test$ git branch -d version2
已删除分支 version2(曾为 782c5b5)。
* 创建远程分支到本地分支*
git checkout -b localbranchname origin/remotebranchname
例:kobe @kobe -OptiPlex -990 :~/test $ git checkout -b version2 origin/version2
分支 version2 设置为跟踪来自 origin 的远程分支 version2。
切换到一个新分支 'version2'