Git使用详解

文章内容参考:廖雪峰Git教程

Git命令:

git init  //把当前目录变成Git可以 管理的仓库
git add <file>  //把文件添加到仓库
git commit -m <message> //带说明的提交,说明信息最好具有实际意义
git status  //随时掌握工作区的状态
git diff  //查看修改的内容
git log  //可以查看提交历史,以便确定要回退到哪个版本
git log --pretty=oneline  //查看提交历史的简要信息
git reset //回退版本 
git reset --hard HEAD^  //回退到上一个版本
git reset --hard HEAD^^  //回退到上上个版本
git reset --hard HEAD~100  //回退到前100个版本
git reset --hard 1094a  //回退到指定版本号
git reflog  //记录你的每一次命令,以便确定要回到未来的哪个版本
git checkout -- file  //丢弃工作区的修改
git reset HEAD <file>  //可以把暂存区的修改撤销掉(unstage),重新放回工作区
git rm  //用于删除一个文件
git remote add origin  //关联一个远程库
git push -u origin master  //第一次推送master分支的所有内容
git push origin master  //推送最新修改
git clone <远程仓库地址>  //克隆一个库到本地库
git branch <分支名称>  //创建分支
git checkout <分支名称>  //切换分支
git checkout -b <分支名称>  //创建并切换分支
git branch  //查看当前分支
git merge  //合并指定分支到当前分支
git switch  //切换分支
git switch -c <分支名称>  //创建并切换分支
git branch -d <分支名称>  //删除分支
git log --graph  //查看分支合并图
git merge --no-ff -m <描述> <分支名称>  //合并分支,--no-ff参数,表示禁用Fast forward
git stash  //把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash pop  //回到工作现场
git cherry-pick <bug修复完提交的id>  //把bug提交的修改“复制”到当前分支,避免重复劳动
git branch -D <分支名称>  //丢弃一个没有被合并过的分支,强行删除
git remote  //查看远程库的信息
git remote -v  //显示更详细的信息
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 rebase  //把分叉的提交历史“整理”成一条直线,看上去更直观
git tag <name>  //就可以打一个新标签
git tag v0.9 f52c633  //要对某次add merge提交打标签,且它对应的commit id是f52c633
git show <tagname>  //查看标签信息
git tag -a <tagname> -m "blablabla..."  //可以指定标签信息

Git 命令使用:

默认使用visual studio code

git clone --使用git clone从远程仓库拉取代码

git clone git@github.com:nangongque/doumijia-react-native.git
/** Cloning into 'doumijia-react-native'...
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
remote: Enumerating objects: 94, done.
remote: Counting objects: 100% (94/94), done.
remote: Compressing objects: 100% (78/78), done.
remote: Total 94 (delta 2), reused 91 (delta 2), pack-reused 0R
Receiving objects: 100% (94/94), 232.52 KiB | 163.00 KiB/s, done.
Resolving deltas: 100% (2/2), done.**/

git add --把文件添加到仓库

/** 修改README.md文件如下:
豆米家
2020.9.15更新,由于项目中使用的豆瓣api经常变动,导致接口有时不可用,有问题可以及时联系我的邮箱,谢谢。
**/
/**保存后进行添加**/
 git add README.md

git commit --提交

/** 针对add后修改的文件进行提交**/
git commit -m 'first change README.md'
/** 
[master 20e8cc3] first change README.md
 1 file changed, 2 insertions(+), 1 deletion(-)
**/

git status --随时掌握工作区的状态

/**时刻掌握仓库当前的状态 **/
git status
/**
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
nothing to commit, working tree clean
**/

git diff --查看修改的内容

git diff 
/**
diff --git a/README.md b/README.md
index 552a71e..139e58e 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
 豆米家
-2020.9.15更新,由于项目中使用的豆瓣api经常变动,导致接口有时不可用,有问题可以及时联系我的邮箱,谢谢。
\ No newline at end of file
+2020.9.15更新,由于项目中使用的豆瓣api经常变动,导致接口有时不可用,有问题可以及时联系我的邮箱,谢谢。
+米西米西,画布垃圾
\ No newline at end of file
**/

git log --查看提交历史,以便确定要回退到哪个版本

git log
/**
commit 20e8cc32eba612e88c1209c8206af90d236b9d3b (HEAD -> master, origin/master, origin/HEAD)
Author: murong-yuxuan <350****21@qq.com>
Date:   Tue Sep 15 22:11:49 2020 +0800

    first change README.md

commit 429d3cee52b38ec8846299704f7a108f4348a36f
Author: 李*坡 <189****1995@163.com>
Date:   Tue Sep 15 12:39:50 2020 +0800

    Initial commit

commit 1c33f7c2f470cc5bbb7060b237379b6882e663ff
Author: nangongque <48037565+nangongque@users.noreply.github.com>
Date:   Tue Sep 15 11:47:56 2020 +0800

    Initial commit
**/
git log --pretty=onelin //查看提交历史的简要信息
/**
20e8cc32eba612e88c1209c8206af90d236b9d3b (HEAD -> master, origin/master, origin/HEAD) first change README.md
429d3cee52b38ec8846299704f7a108f4348a36f Initial commit
1c33f7c2f470cc5bbb7060b237379b6882e663ff Initial commit
**/

git push origin master --推送最新修改

git push origin master
/**
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 314 bytes | 314.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To github.com:nangongque/doumijia-react-native.git
   20e8cc3..a145af8  master -> master
**/

git reset --hard HEAD^ --回退到上一个版本

git reset --hard HEAD^
/** README.md文件被还原到上一个版本的内容**/

git reflog -- 记录你的每一次命令,以便确定要回到未来的哪个版本

git reflog
/**
20e8cc3 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
a145af8 (origin/master, origin/HEAD) HEAD@{1}: commit: first change commit
20e8cc3 (HEAD -> master) HEAD@{2}: commit: first change README.md
429d3ce HEAD@{3}: clone: from git@github.com:nangongque/doumijia-react-native.git
**/

git checkout -- file --丢弃工作区的修改

git checkout -- .\README.md
/** 上一次修改的代码将被撤销**/

git branch --创建分支

git branch test1 

git checkout --切换分支

git checkout test1
/**Switched to branch 'test1'**/

git push origin --推送分支到远程仓库

git push origin test1:test1
/**
Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'test1' on GitHub by visiting:
remote:      https://github.com/nangongque/doumijia-react-native/pull/new/test1
remote:
To github.com:nangongque/doumijia-react-native.git
 * [new branch]      test1 -> test1
**/

git switch --切换分支

git branch
/**
  master
* test1
**/
 git switch master
/**
Switched to branch 'master'
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)
**/
git branch
/**
* master
  test1
**/

git stash --把当前工作现场“储藏”起来,等以后恢复现场后继续工作

git stash
/**
Saved working directory and index state WIP on master: 20e8cc3 first change README.md
**/
/**会把工作区中修改的代码暂时隐藏起来**/

git stash pop --回到工作现场

git stash pop
/**
On branch master
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (f09780a198fda8a2f4b36d8d0498c52daef5eab1)
**/
/**先前隐藏的代码又出来了**/

git tag --打一个新标签

git show --查看标签信息

git tag v0.1
git show v0.1
/**
Author: murong-yuxuan <350****21@qq.com>
Date:   Tue Sep 15 22:11:49 2020 +0800

    first change README.md

diff --git a/README.md b/README.md
index 49e1184..552a71e 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,2 @@
-# doumijia-react-native
\ No newline at end of file
+豆米家
+2020.9.15更新,由于项目中使用的豆瓣api经常变动,导致接口有时不可用,有问题可以及时联系我的邮箱,谢谢。
\ No newline at end of file
**/

未完待续....

其他开发工具下使用的git命令后续补上

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343