Git常用命令

一.Git常用命令
1.安装
a).在Linux上安装Git
sudo apt-get install git
b).在Mac OS X 上安装Git
通过Homebrew安装git
brew install git
c).在Windows上安装Git
使用msysgit

2.设置用户名和邮箱

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

这里注意git config 的 –global参数,这是全局配置参数,这样设置后,这台机器的所有git仓库都会用这个配置,我们也可以对不同的仓库指定不同的用户名和邮箱。

3.创建版本库
git init
该命令可以让一个目录初始化为一个git仓库,之后我们可以看到该目录下会有个.git目录,该目录就是用来跟踪版本库的。

4.远程仓库
创建SSH

$ ssh-keygen -t rsa -C "youremail@example.com"

创建成功后会在用户目录下找到.ssh目录,里面有id_rsa和id_rsa.pub两个秘钥文件.pub是公钥。将公钥添加到Git服务器就可以进行远程仓库的使用了。

clone
https协议和ssh协议,https协议还没试过 试过再写下。下面是用的ssh协议clone的

git clone ssh_url
//关联远程仓库,origin是关联后的远程库的名字,默认为origin,也可以关联的时候改成别的
git remote add origin git@server-name:path/repo-name.git
git remote      //查看远程库的信息
git remote -v   //显示更详细信息,可以fetch和push的地址,没有push权限看不到push的信息
git remote show <remote_name> //查看远程仓库的详细信息

//推送到远程库,-u参数是关联远程分支,以后push的时候简化操作,推送到origin库的master分支上
git push -u origin master 

git add <file>          //将工作区的内容添加到暂存区
git commit -m ""        //将暂存区的内容提交到分支上

git status              //查看仓库当前的状态
git diff                //查看修改的内容

//版本回退
git reset --hard commit_id
git reset HEAD file     //把暂存区文件的修改撤销,退回到工作区

git log             //查看提交历史,以便确定回退到哪个版本
git reflog          //查看命令历史,以便确定回到未来哪个版本

git checkout -- file    //丢弃工作区的修改
git checkout        //其实是用版本库里的版本替换工作区的版本
git checkout -b dev //创建并切换到dev分支

git branch dev      //这两条命令等于上面加-b参数的命令效果
git checkout dev

//在本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name

//从版本库中删除文件,然后commit提交,先在工作区将文件删除再用git rm删除,或者add到暂存区,然后再commit
git rm      

git branch          //查看分支,列出所有分支,当前分支前加 * 
git branch -d dev   //删除分支
git branch -D dev   //删除没有被合并过的分支
git branch -a       //查看分支,(包括远程分支)远程分支会用红色显示出来
//设置本地分支与远程分支的链接
git branch --set-upstream dev origin/<branch>
//查看各个分支最后一个提交对象的信息
git branch -v
git branch merged       //查看已经被合并到当前分支的分支
git branch --no-merged //查看尚未合并的工作分支

//合并分支,指定分支(dev)合并到当前分支
git merge dev   
//快进模式,将当前分支直接指向要合并的分支的当前提交
Fast-forward 
//修改最后一次提交
$ git commit --amend

git log --graph     //可以查看分支合并图

解决冲突
!!!

git stash           //存储当前分支工作区
git stash list      //查看stash列表
git stash apply stash@{0}   //恢复到指定stash,并不删除
git stash drop      //删除指定的stash
git stash pop       //恢复的同时也把stash内容删除了



//创建标签,默认标签打在最新的commit上
git tag <name>
//若要给之前的commit打tag,需要找到该commit的id
git tag <name> commit_id
//查看tag列表,标签不是按时间顺序列出的,是按字母排序的
git tag
//查看tag标签信息
git show <tagname>
//创建带有标签信息的tag(id可指定,不指定则默认当前分支commit)
git tag -a <name> -m <message> commit_id
//删除标签
git tag -d <tagname>
(标签的推送这里先不记录,个人也没用过推送标签到远程)

!!!rebase

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值