git常用命令
2016-10-28 17:24
363 查看
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'