您的位置:首页 > 其它

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