Git操作文档

mkdir 创建文件夹
cd 进入当前目录 ( 不写目录名 直接回到家目录)
cd .. 回到上一层
ls 查看当前目录内容
ls -a 查看当前目录下隐藏文件
pwd 查看当前目录
open . 打开当前目录
rm 删除文件


建立项目仓库

$ cd Git
$ git init 

上述操作的结果是在 WORK 目录下创建了一个.git隐藏目录,它就是所谓的Git仓库,不过现在它还是空的。另外WORK目录也不再是普通的文档目录了,今后我们将其称为工作树。

$ git add .    添加所有文件
$ git commit -m “添加文件”  告诉git,把文件提交到仓库 并备注为”添加文件”

commit 只负责把暂存区的文件提交 文件没有被写入到暂存区,commit 不会提交到仓库

$ git status  查看仓库当前状态 
$ git diff    查看具体改变内容

版本回退

$ git log     查看仓库历史记录(详细版)
$ git reflog  查看仓库历史记录(精简版)
$ git log --pretty=oneline  (版本号加版本备注)
$ git log --pretty=oneline --abbrev-commit (前7位版本号加版本备注)
$ git reset --hard HEAD^ 
/*回到上一个版本 HEAD^^回到上上个版本 回到往上三个版本以上 用HEAD~100*/
$ git reset --hard e8f9206 (回到之前以后恢复新的版本)

删除文件

$ git rm text1.rtf    删除text1.rtf文件
$ git checkout -- text1.rtf   从本地库中把text1.rtf找回来

远程仓库

在GitHub上创建一个远程库,并配置公钥,每一个远程库对应一个公钥

$git remote add origin git@github.com:UniqueMy/learngit.git
关联远程库   

注意更换为自己的远程库名

$ git push -u origin master

把本地库中内容push到远程库中 (-u 参数 是为了把本地master分支和远程master分支关联,以后可以简化命令)

$ git push origin master  把本地master分支的最新修改推送至GitHub

克隆

$ git clone git@github.com:UniqueMy/learngit.git
$ git checkout -b dev origin/dev   克隆远程的dev分支到本地
$ git pull     把最新的内容抓取下来
$ git branch --set-upstream dev origin/dev  
设置本地dev分支和远程 origin/dev分支的链接

创建分支

$ git checkout -b dev     checkout 加上 -b 表示创建并切换 
相当于
$ git branch dev
$ git checkout dev

$ git branch <name> 创建分支
$ git branch 列出所有分支 当前分支会用*标注
$ git merge <name> 合并指定分支到当前分支
$ git branch -d <name> 删除分支

解决冲突

$ git log - -graph 查看分支合并图
$ git merge --no-ff -m "merge with no-ff" <name> 

合并分支并创建一个commit 所以加入-m参数 - -no-ff这种合并分支的模式和默认的Fast forward模式相比,能保存合并的历史记录 能看出曾经做过合并 另一种模式不能看出做过合并


修复BUG

$ git stash       把手头未完成工作现场储存起来
$ git stash list  查看储存起来的工作现场
$ git stash pop   恢复工作现场并把stash的内容删除
$ git stash apply 恢复工作现场 不删除stash
$ git stash drop  删除stash

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场

$ git branch -D <name> 强制删除一个还没有合并的分支

多人协作

$ git remote 查看远程库信息 (精简版)
$ git remote -v 查看远程库信息 (详细版)
$ git push origin <name>  把分支内容推送到远程库

多人协作的工作模式通常是这样:
1. 首先,可以试图用git push origin 推送自己的修改;
2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3. 如果合并有冲突,则解决冲突,并在本地提交;
4. 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令
git branch –set-upstream-to origin/


创建标签

$ git tag  查看所有标签
$ git tag <name> 打标签
$ git tag <name> <版本号前6位> 给指定版本打标签
$ git show <name> 查看标签信息
$ git tag -a <标签名> -m <标签说明> <版本号> 打一个有说明的标签
$ git tag -d <name> 删除标签
$ git push origin <name> 远程推送某个标签
$ git push origin --tags 远程推送所有未推送的标签
删除远程标签
1.$ git tag -d <name> 删除本地标签
2.$ git push origin :refs/tags/<name> 删除远程标签

配置别名
$ git config --global alias.st status 这样st 就代表 status

$ cat .git/config  每个仓库的配置文件
$ cat .gitconfig   当前用户的配置文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值