当前位置: 首页 > news >正文

基础技能 | Git

用户初始化

1 git config (--global) user.name "qinziang"
2 git config (--global) user.email "ziangqin.stu@gmail.com"

 

创建Repository(版本库)

1 mkdir learngit
2 cd learnGit
3 pwd
4 
5 git init

 

提交文件的基本方法

commit:版本库的快照 (tag也是版本库的快照)

 1 git add readme.txt
 2 git commit -m "wrote a readme file"
 3 git status
 4 
 5 修改readme.txt文件
 6 git status
 7 git diff readme.txt
 8 
 9 git add readme.txt
10 git status
11 git commit -m "add distributed"
12 git status

 

版本切换(回退)

1 git reset --hard HEAD^
2 cat readme.txt
3 
4 git log
5 
6 git reflog
7 git resetc370
8 cat readme.txt

 

工作区和缓存区

 

管理修改:

git diff HEAD -- readme.txt

git diff

git diff --cached

git diff HEAD(/master)

git diff commit-d [<path>]

git diff --cached [<commit-id>][<path>...]

git diff [<commit-id>] [<commit-id>]

 

丢弃修改的方法:

git checkout -- readme.txt  // 将工作区回退到上一次add或者commit时的状态 (丢弃工作区的修改)

 

git reset HEAD readme.txt  // unstage, add的逆过程 (回退暂存区的修改)

git checkout -- readme.txt  // 丢弃工作区的修改

 

关联远程库, 推送/克隆

git remote add origin git@github.com:ziangqin-stu/learnGit.git

git push -u origin master

git push origin master

 

git clone git@github.com:ziangqin-stu/gitSkills.git

 

分支操作

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

 

 多人协作

查看远程库信息,使用git remote -v

多人协作的工作模式通常是这样:

    1. 首先,可以试图用git push origin <branch-name>推送自己的修改;

    2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    3. 如果合并有冲突,则解决冲突,并在本地提交;

    4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

转载于:https://www.cnblogs.com/qinziang/p/9303585.html

相关文章:

  • SPP-net原理解读
  • [HDU3710]Battle over Cities
  • Vue学习笔记4
  • 你知道吗?一把能打开100000亿新兴市场的钥匙就攥着你手里!
  • Faiss教程:基础
  • 你的鞋都比你聪明
  • [CF226E]Noble Knight's Path
  • SQL Server内幕之预估与实际执行计划
  • [笔记] 四边形不等式
  • [js] 正则表达式
  • Windows 7安装超级终端连接COM口设备
  • 深入理解Java序列化机制
  • 实现Chrome Devtools调试JavaScript V8引擎
  • ZABBIX(三) zabbix 支持的主要监控方式
  • 算法导论——动态规划
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 【css3】浏览器内核及其兼容性
  • Apache Spark Streaming 使用实例
  • es6--symbol
  • Java新版本的开发已正式进入轨道,版本号18.3
  • JS实现简单的MVC模式开发小游戏
  • leetcode-27. Remove Element
  • maven工程打包jar以及java jar命令的classpath使用
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • php的插入排序,通过双层for循环
  • React的组件模式
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Spring Boot MyBatis配置多种数据库
  • win10下安装mysql5.7
  • 初识MongoDB分片
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 欢迎参加第二届中国游戏开发者大会
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 前端js -- this指向总结。
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 使用putty远程连接linux
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 进程与线程(三)——进程/线程间通信
  • 说说我为什么看好Spring Cloud Alibaba
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​如何防止网络攻击?
  • ​一些不规范的GTID使用场景
  • #Lua:Lua调用C++生成的DLL库
  • #每天一道面试题# 什么是MySQL的回表查询
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (1)STL算法之遍历容器
  • (AngularJS)Angular 控制器之间通信初探
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (笔试题)合法字符串
  • (多级缓存)缓存同步
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)