做开发经常会使用到git做版本控制,今天整理一下常用的git命令:
1、git的下载与配置:
sudo apt-get install git
安装完成后配置git,
输入指令
git config --global user.name "your user name"
git config --global user.email "your email address"
然后创建验证用的公钥。使用命令
ssh-keygen -C "you email address@gmail.com" -t rsa
此时会在用户目录的.ssh目录下
下建立相应的密钥文件。进入.ssh
文件夹,查看id_rsa.pub文件内容
cat id_rsa.pub
复制其中所有内容。最后登陆github账户,点击头像进入setting->SSH and GPG keys -> New SSH key, title自定义,将复制的内容填入key中
2 、获取git项目仓库
有两种方法,一是在现存的目录下,通过导入所有文件来创建新的 Git 仓库。第二种是从已有的 Git 仓库克隆出一个新的镜像仓库。
A.在工作目录中初始化新的git项目仓库
在项目所在的目录,使用命令:
git init
初始化给git项目库,此时会在当前目录下生成名为 .git 的目录,所有 Git 数据和资源都放在这个目录中。添加需要进行版本控制的文件,需要先用 git add
命令告诉 Git 开始对这些文件进行跟踪,然后提交:
git add *.c
git add README
git commit -m 'initial project version'
B.从现有仓库克隆
如果想对某个开源项目出一份力,可以先把该项目的 Git 仓库复制一份出来,这就需要用到 git clone
命令。
克隆仓库的命令格式为 git clone
-b <name> [url]
。-b指定要clone的分支名称,不加-b <name>默认clone master分支
可以自己定义要新建的项目目录名称,可以在clone命令末尾指定新的名字。
3、分支操作
执行如下命令提交改动到远端仓库:git push origin master
如果没有克隆现有仓库,并欲将仓库连接到某个远程服务器,可以使用如下命令添加:git remote add origin <server>
创建一个叫做"mybranch"的分支,并切换过去:git checkout -b
mybranch
切换回主分支:git checkout master
再把新建的分支删掉:git branch -d
mybranch
将分支推送到远端仓库:git push origin <branch>
更新本地仓库至最新改动,执行:git pull
合并其他分支到当前分支,执行:git merge <branch>
在合并改动之前,可以使用如下命令预览差异:git diff <src_branch> <des_branch>
假如操作失误,可以使用如下命令替换掉本地改动:git checkout -- <filename>
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
假如想丢弃本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将本地主分支指向它:git fetch origin
git reset --hard origin/master
4、查看更改历史
使用git log 查看本地仓库更改记录
git log --author=name 查看某一个人的提交记录
git log --pretty=oneline 每条提交记录在一行输出
git log --help 查看git log 的使用方法