git常用命令总结

创建版本库: 
$mkdir xxx  //创建空目录
$cd xxx //进入新创建的目录
$pwd //显示当前目录的绝对路径


$git init //将此目录变成Git可以管理的仓库


把文件添加到版本库:
$git add xxx.xxx //告诉git,将文件提交到仓库 。可反复多次使用,添加多个文件
$git commit -m "xxx" //"xxx"表示本体提交的说明,可以是任意内容,但最好有意义

$git status //查看工作区状态
$git diff //查看修改的内容


$git log //查看修改日志
$git lot --pretty=oneline //将每条修改记录简化为一行,避免信息太乱(大串数字是ID)

版本回退: 
$git reset --hard HEAD^ //一个“ ^ ”表示回退一个版本,如果回退版本较多使用“ HEAD~ 100”
$cat xxx.xx //查看文件内容
$git reset --hard ID //就可以制定回到ID对应的版本
$git reflog //查看历史命令,可以看到版本ID


工作区和暂存区:
工作区:就是在电脑里能看到的目录;
暂存区:是在版本库里边的和分支同极的区域;
在往版本库中添加文件时,第一步add就是将文件添加到暂存区,第二步commit提交更改,就是将暂存区中的文件添加到所属的分支中。


撤销修改:
$git checkout --file //可以丢弃工作区的修改,将file文件在工作区的修改全部撤销
//两种情况:修改后还没有放在暂存区,那么撤销会撤销到跟版本库一样的状态
//另一种就是放到暂存区后又修改了,这时撤销就回到添加暂存区后的状态。
$git reset HEAD file    //在你将修改添加到暂存区了,发现错了,可以利用此命令将文件重新放到工作区;
//此时利用上一条命令将文件删除。世界清静了。
删除文件:
$git rm file //删除文件,如果一个文件已经提交到版本库,那么不用担心误删,可以恢复文件,但也只能恢复最新版本,会 //丢失最近一次修改的内容


远程仓库:
$ssh-keygen -t rsa -C "your email@example.com" //创建SSH Key,查看.ssh目录下的id_rsa id_rsa.pub 文件

添加远程库:
$git remota add origin git@github.com:name/repository-name.git //origin远程库名字,name:github账户名, //repository-name:github上版本库名字

$git push -u orgin master //第一次将本地库内容推送到远程库上所以加上 -u ,以后就不用了

从远程库克隆:
$git clone git@github.com:name/repository-name.git //在知道要克隆的库的地址情况下利用该命令克隆整个库




创建与合并分支:
$git checkout -b dev //创建分支并切换到dev分支

$git branch dev
$git chceckout dev //此两条指令相当于上边一条


$git branch //查看当前分支
$git merge dev //用于合并指定分支到当前分支


$git branch -d dev //删除 dev 分支


解决冲突:
当master分支和自己建立的分支对同一个文件都有新的提交,这种情况下就无法”快速合并“Fast forward 
$git log --graph //查看分支的合并情况


$git merge --no-ff -m //--no-ff参数表示禁用快速合并,并创建新的commit


bug分支:
$git stash //将当前的工作储藏起来,等以后恢复现场继续工作
$git stash list //查看储藏起来的工作

$git stash apply //恢复工作内容,但是不会删除stash内容
$git stash frop //配合apply使用,删除stash内容


$git stash apply@{0} //恢复指定的stash


$git stash pop //恢复内容,并删除stash内容。


多人协作:
$git remote //查看远程库信息
$git remote -v  //显示更详细的信息


$git push orgin master //推送分支,指定远程库和本地分支


$git branch -D <name> //强行删除分支


$git pull //抓取分支


从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交


在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;


建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;


创建标签:
$git tag <name> //创建标签
$git tag //查看标签


注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息


git tag -a <tagname> -m "blablabla..."可以指定标签信息;


git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;


$git tag -d <tagname> //删除标签
$git push orgin <tagname> //推送标签到远程
$git push orgin --tags //一次性推送全部标签到远程


删除远程标签需要先从本地删除
$git push orgin :refs/tags/<tagname> //再从远程删除


自定义Git:
$git config --global color.ui true


忽略特殊文件:
在工作区根目录下创建一个特殊的.gitignore文件,将要忽略的都放进去,git就会自动给忽略掉
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值