博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git使用笔记
阅读量:6279 次
发布时间:2019-06-22

本文共 3400 字,大约阅读时间需要 11 分钟。

1.创建版本库

(1)$ mkdir learngit (生成learngit文件夹)
$ cd learngit (切到learngit)
$ pwd  (显示当前目录)

(2)$ git init (把这个目录变成可以托管的仓库)

 

2. 把文件放到版本库

几次add 一次comit add是放入暂存区  commit才是真正保存

$ git add reademe.txt

  $ git add licsence.txt

  $ git commit –m “”;

3. 删除文件

$ rm test.txt
误删后恢复文件
$ git checkout -- test.txt

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

4 历史修改记录

$ git log
$ git log --pretty=oneline(每条修改记录在一行显示)
$ git reset --hard HEAD^(返回上一版本)
$ git reset --hard HEAD^^(返回上上个版本)
$ git reset --hard 3628164(返回对应版本号,版本号不用写全,写前几位就行)
$ git reflog(关了窗口后再想查看修改记录输入的命令)
 

5远程仓库

(1)创建SSH Key 在gitbash中输入$ ssh-keygen -t rsa -C (把邮件地址换成你自己的邮件地址)
然后一路回车,使用默认值即可。
C:\Users\Administrator 此目录下有.ssh 的文件夹了。
登录github右上角 setting -Account settings-SSH Keys-new ssh keys-title(随便填)-Key(粘贴id_rsa.pub文件的内容)-Add Key
 

6新建仓库并推送

(1)    右上角Create a new repo-Create a new repo填入名字其他保持默认设置,点击“Create repository”按钮
Gitbasah 输入以下命令$ git remote add origin   把上面的michaelliao替换成你自己的GitHub账户名
(2)$ git push -u origin master
(3)输入github用户名 密码回车就搞定了。此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
 

7先创建远程库,再克隆本地库。

(1)创建完远程库后 在gitbash输入
$git clone (url地址+库名)
 
(2)$ cd gitskills
$ ls
README.md  (查看仓库中的内容)
 

8创建分支

(1)$ git checkout -b dev  表示创建并切换,相当于以下两条命令
$ git branch dev
$ git checkout dev(切换到dev)
(2)$ git branch 查看所有分支 *表示在当前分支下
(3)修改完成文件后在 dev分支下提交
$ git add readme.txt
$ git commit -m "branch test"
(4)$ git checkout master(切换回主分支)
(5)$ git merge dev(把dev分支合并到当前分支,dev分支还存在)
(6)$ git branch -d dev(删除dev分支)
注意:两个分支都有修改的情况下不能合并。合并是会有冲突。
 

9在dev分支工作时突然遇到master有不过需要修改

(1)$ git status(把当前工作现场“储藏”起来)
(2) $ git checkout master(切换到master)
(3) $ git checkout -b issue-101(建立新分支)
(4)修改bug
(5) $ git add readme.txt
$ git commit -m "fix bug 101"(保存修改)
(6) $ git checkout master(切换到master)
(7) $ git merge --no-ff -m "merged bug fix 101" issue-101(合并分支)
(8) $ git checkout dev(切换到dev)
(10) $ git stash pop(恢复原来工作状态并删除stash)
或者git stash apply(先恢复)
git stash drop(后删除stash)
 

10 删除还没合并到master的分支

 如果新建了分支还没有合并到master不能通过$ git branch -d feature-vulcan删除 可以通过$ git branch -D feature-vulcan
删除。
 

11 往远程库推送分支

$ git push origin master(dev)
 

12创建标签

(1)$ git tag v1.0 默认标签是打在最新提交的commit上的
(2)给以前的打标签
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 6224937 (给某个id的版本打标签)
(3)$ git tag(产看所有标签)
(4)$ git show v0.9产看标签的详细内容

13删除标签

如果没有添加到远程库中
(1)$ git tag -d v0.1 删除标签
 
 
(2)$ git push origin v1.0  推送某个标签到远程库
(3)$ git push origin –tags一次性推送全部尚未推送到远程的本地标签:
如果推动到远程库了
$ git tag -d v0.9 先从本地删除
$ git push origin :refs/tags/v0.9 然后从远程库删除

14 git hook

在执行git各种命令时会触发一些钩子函数,可以执行某些脚本

在项目根目录下cd .git/hooks 就可以看到各种钩子(只有把.sample后缀去掉才可以执行)

比如在git pull 代码合并后触发post-merge

hooks新建 post-merge 文件 输入如下修改完后需要在命令台中执行`chmod +x post-merge`

功能是检查 package.json 如果变更了则执行 npm install

#!/usr/bin/env bash# MIT © Sindre Sorhus - sindresorhus.co# git hook to run a command after `git pull` if a specified file was changed# Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`.changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"check_run() {  echo "$changed_files" | grep --quiet "$1" && eval "$2"}# Example usage# In this example it's used to run `npm install` if package.json changedcheck_run package.json "npm install"

  

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 
 

 

转载于:https://www.cnblogs.com/ytu2010dt/p/5243691.html

你可能感兴趣的文章
阿里感悟(十八)- 应届生Review
查看>>
《计算广告:互联网商业变现的市场与技术》一第一部分 在线广告市场与背景...
查看>>
话说模式匹配(5) for表达式中的模式匹配
查看>>
《锋利的SQL(第2版)》——1.7 常用函数
查看>>
《Arduino家居安全系统构建实战》——1.5 介绍用于机器学习的F
查看>>
jquery中hover()的用法。简单粗暴
查看>>
线程管理(六)等待线程的终结
查看>>
spring boot集成mongodb最简单版
查看>>
DELL EqualLogic PS存储数据恢复全过程整理
查看>>
《Node.js入门经典》一2.3 安装模块
查看>>
《Java 开发从入门到精通》—— 2.5 技术解惑
查看>>
Linux 性能诊断 perf使用指南
查看>>
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>