Gi基本操作

Git 学习

学习Git的基本操作后的整理
参考学习廖雪峰Git
友情附赠国外网友制作的Git Cheat Sheet

  • 安装git(linux)
sudo apt-get install git
  • 设置用户和邮箱
git config –global user.name = “XXX”
git config –global user.email = “XXX”

本地库操作

git status # 掌握工作区的状态
git diff # 查看文件被修改的内容
  • 创建版本库
mkdir learngit # 创建目录
cd learngit # 进入目录
pwd #显示当前目录
git init # 设为版本库
  • 将文件添加到版本库
git add <flie1> # 将文件添加到仓库
git add <flie2> # 可同时提交多个文件
git commit -m <message> # 将文件提交到仓库

时光穿梭

  • 版本回退(HEAD指当前版本号)
cat readme.text # 查看文件内容
git log # 查看目前的提交日志  
git log –pretty=oneline # 约束在一行
git reset –head commit_id # 版本回退
commit_id: HEAD^ 上一个版本 HEAD^^上上个版本 HEAD~100100版本
			1094adb...版本号
git reflog # 查看所有的版本号
  • 撤销修改
git checkout -- <file> # 撤销文件在工作区的修改,返回上次add或者commit的状态
git reset HEAD <file> # 将文件从暂存库中丢弃
  • 删除文件
rm <file> # 删除文件
1.# 从版本库中删除文件
git rm <file> 
git commit -m <message> 
2.# 恢复文件
git checkout -- <file>

远程仓库

  • 连接github
# 本机生成SSH
ssh-keygen -t rsa -C “XXX@XXX.com”
# 本地仓库和github仓库关联
git remove add origin git@github.com:path/rope-name.git
  • 提交远程库
# 把当前分支的master推给github
git push -u origin master # 第一次操作
git push origin master # 正常操作
git remote -v # 查看远程库信息
git clone git@github.com:path/rope-name.git # 克隆仓库
  • 创建+合并分支(fast forward方式合并)
git branch <name> # 创建分支
git checkout <name> 或git switch <name> # 转到分支
git branch # 查看分支
git checkout -b <name> 或者git switch -c <name> # 创建+转到分支
git merge <name> # 合并分支
git branch -d <name> # 删除分支
git branch -D <name> # 强行删除分支
  • 合并分支时解决冲突
git merge <name>后产生冲突
使用git status查看冲突的文件
使用cat <flie>查看冲突的内容后修改
然后在此add和commit
git log –graph # 查看分支合并图
  • –no-ff方式合并分支(普用模式合并)
git merge --no-ff commit -m <message> <name> # 需要创建一个新的commit
  • 修改bug
git stash # 储存当前的内容
git stash list # 查看储存的内容
git stash pop # 直接恢复(有一次stash时)
git stash apply stash@{0} # 恢复到stash@{0}
git stash drop # 删除储存
git cherry-pick <commit> # 把之前的bug修改的内容在当前分支修改
  • 多人协作的工作模式
1.首先,可以试图用git push origin <branch-name>推送自己的修改;
2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3.如果合并有冲突,则解决冲突,并在本地提交;
4.没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
5.如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。这就是多人协作的工作模式,一旦熟悉了,就非常简单。
git checkout -b <branch-name> origin/<branch-name> # 在本地和远程库建立分支并连接

git rebase # 把本地未push的分叉提交历史整理成直线

标签

git tag # 查看标签
git tag <tagname> # 创建一个标签默认在HEAD位置
git tag <tagname> commit_id #  指定一个commit_id
git tag -a <tagname> -m “bababab...# 指定标签信息

git push origin <tagname> # 推送一个本地标签
git push origin –tags # 推送所有的未推送过的标签

* 删除标签流程
1.git -d <tagname> # 删除标签
2.git push origin :refs/tags/ <tagname> # 删除远程库的标签

git自定义

git config --global color.ui true # Git显示颜色
git config --global alias.st status # 重定义
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值