ubuntu git ssh git ssh克隆
大家好,今天来为大家解答ubuntu git ssh这个问题的一些问题点,包括git ssh克隆也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
Ubuntu系统中Git客户端的安装与基本命令使用教程
安装git
复制代码
代码如下:
sudo apt-get install git
git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址
复制代码
代码如下:
git config--global user.name"Your name"
git config--global user.email"email@XX.com"
创建版本库repository
首先找一个地方,创建一个空目录,然后使用git init命令
复制代码
代码如下:
git init
将文件放到建好的仓库目录下使用如下命令
用add将文件添加到仓库
复制代码
代码如下:
git add filename
用commit告诉git,把文件提交到仓库
复制代码
代码如下:
git commit-m"input something"
git commit命令执行成功后会告诉你,文件被改动的情况。commit可以一次提交很多文件
查看仓库历史
git status命令可以让我们时刻掌握仓库当前的状态
复制代码
代码如下:
git status
git diff filename可以查看该文件时如何被修改的
版本回退
用git log命令查看历史记录
复制代码
代码如下:
git reset--hard+版本号
其中**HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本也可写成HEAD~100上一百个版本。版本号不用全写,写前几位就行。git会自动帮你找到
用git reflog可以查看你每一次的操作记录
撤销修改
使用
复制代码
代码如下:
git checkout--xxx.txt
命令git checkout-- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态
使用git reset HEAD+filename可以把暂存区的修改撤销掉,重新放回工作区。git reset命令既可以回退版本,也可以把暂存区的修改撤销掉
删除文件
**使用git rm filename**删除文件
若删错了,可用 git checkout-- filename进行恢复
查看、切换、创建和删除分支
复制代码
代码如下:
git br-r#查看远程分支
git br new_branch#创建新的分支
git br-v#查看各个分支最后提交信息
git br--merged#查看已经被合并到当前分支的分支
git br--no-merged#查看尚未被合并到当前分支的分支
git co branch#切换到某个分支
git co-b new_branch#创建新的分支,并且切换过去
git co-b new_branch branch#基于branch创建新的new_branch
git co$id#把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git co$id-b new_branch#把某次历史提交记录checkout出来,创建成一个分支
git br-d branch#删除某个分支
git br-D branch#强制删除某个分支(未被合并的分支被删除的时候需要强制)
分支合并和rebase
复制代码
代码如下:
git merge branch#将branch分支合并到当前分支
git merge origin/master--no-ff#不要Fast-Foward合并,这样可以生成merge提交
git rebase master branch#将master rebase到branch,相当于:
git co branch git rebase master git co master git merge branch
Git暂存管理
复制代码
代码如下:
git stash
#暂存
git stash list
#列所有stash
git stash apply#恢复暂存的内容
git stash drop
#删除暂存区
远程仓库
创建SSH key
复制代码
代码如下:
ssh-keygen-t rsa-C"email@xx.com"
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
登陆GitHub,打开Account settings,SSH Keys页面:
然后,点Add SSH Key,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
将本地仓库推送到GitHub仓库
复制代码
代码如下:
git remote add origin git@github.com:pastqing/wangdao.git
git push-u origin mastercd
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改
从远程仓库克隆
复制代码
代码如下:
git clone git@github.com:pastqing/wangdao.git
查看提交记录
复制代码
代码如下:
git log
git log file#查看该文件每次提交记录
git log-p file#查看每次详细修改内容的diff
git log-p-2#查看最近两次详细修改内容的diff
git log--stat#查看提交统计信息
怎样在Ubuntu 14.04中搭建gitolite git服务器
1.首先这里我们安装openssh-serveropenssh-client,如果你用的是VPS之类的一般都默认安装好了,不过运行一个这个命令不会有错的,如果有安装就会提示已安装。
sudo apt-get-y install openssh-serveropenssh-client
怎样在Ubuntu 14.04中搭建gitolite git服务器
2.安装Git,在这个核心软件,不可或缺。
sudo apt-get-y install git
怎样在Ubuntu 14.04中搭建gitolite git服务器
3.添加gitolite用户和同名用户组,加上--system参数,用户就不会在登陆界面显示。
sudo adduser--system--shell/bin/sh--group--disabled-password--home/home/gitolite gitolite
怎样在Ubuntu 14.04中搭建gitolite git服务器
4.生成ssh key,一路回车下来。
ssh-keygen-t rsa
怎样在Ubuntu 14.04中搭建gitolite git服务器
5.将你当前用户的ssh pub key复制到/tmp下备用,由于我用的是桌面版在同一台机器上。
cp~/.ssh/id_rsa.pub/tmp/ubuntugege.pub
如果你是ssh远程登陆到服务器上安装,就要把你本地的key复制到远程的机器上
scp~/.ssh/id_rsa.pubgitolite.server:/tmp/ubuntugege.pub
怎样在Ubuntu 14.04中搭建gitolite git服务器
6.安装gitolite,在ubuntu中已经集成了,不用自己去下载。
sudo apt-get-y install gitolite
怎样在Ubuntu 14.04中搭建gitolite git服务器
7.切换到gitolite用户环境中,因为我要以gitolite用户身份去初始化安装。
sudo su- gitolite
怎样在Ubuntu 14.04中搭建gitolite git服务器
8.执行初始化安装gitolite。
gl-setup/tmp/ubuntugege.pub
怎样在Ubuntu 14.04中搭建gitolite git服务器
9.把管理库gitolite-admin克隆过来就可以开始gitolite用户及代码库的管理了,如果不能克隆,那么就说明初始化的ssh pubkey错了,如图就是成功了。
git clonessh://gitolite@localhost/gitolite-admin.git
ubuntu如何通过ssh连接github
通过Ubuntu系统连接git一直不太顺利,总是遇到这样或者那样的问题。今天就把所有的操作总结一下以方便后续的操作。本文主要包括如下的章节:
这里都不再强调SSH Key的作用了,首先SSH的安全性要高于Https。最重要的是有了SSH再也不用每次pull或push输入密码了。下面就介绍如何生成ssh key,主要通过下面的一行命令即可:
这样就ssh key就大功告成了。可以通过下面的命令来查看生成的ssh key
将会看到如下的信息
我们要将这个key的内容复制下来,下面还有用处
通过步骤1生成的ssh key还不能直接与github进行通信,我们需要将ssh key添加到github上才能建立通信,首先打卡github的设置
通过步骤1和2这时我们直接去clone项目时仍然会提示权限不够的如下图:
然后填入下面的内容即可:
上述的User换成自己的邮箱即可,这时我们已经可以从github clone项目了,但是由于限制github clone的速度可能会很慢。这里需要进行下面的设置来提升clone的速度
通过root用户打开下面的配置文件/etc/proxychains.conf,并添加如下的内容:
然后保存退出即可,这样就可以快速的clone工程了。