安装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,Git
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]