转自:http://blog.gogojimmy.net/2012/02/29/git-scenario/

  1. Git 教學(1):Git的基本使用
  2. Git 教學(2):Git Branch 的操作與基本工作流程
  3. Git 情境劇:告訴你使用 Git 時什麼情況該下什麼指令

  4. 如何安裝 Git

    • Mac : 安裝 Homebrew

        brew install git
    • Linux(Debian) : apt-get install git-core
    • Linux(Fedora) : yum install git-core
    • Windows : 下載安裝 msysGit
  5. 如何設定 Git

  6. 如何開始一個 Git Respository

    • 在專案底下使用 git init 開始一個新的 Git repo.
    • 使用 git clone 複製一個專案
  7. 如何將檔案加入 Stage

    • 使用 git add 將想要的檔案加入 Stage.
    • git add . 會將所有編修過的檔案加入 Stage (新增但還沒 Commit 過的檔案並不會加入)
  8. 如何將檔案從 Stage 中移除(取消add)

    • git reset HEAD 檔案名稱
  9. 如何將檔案提交(commit)

    • 使用 git commit會將 Stage 狀態的檔案做 Commit 動作
    • git commit -m "commit訊息" 可以略過編輯器直接輸入 commit 訊息完成提交。
    • git commit -am "commit訊息" 等同於先git add .後略過編輯器提交 commit。
  10. 如何修改/取消上一次的 commit

    • git commit --amend 修改上一次的 commit 訊息。
    • git commit --amend 檔案1 檔案2... 將檔案1、檔案2加入上一次的 commit。
    • git reset HEAD^ --soft 取消剛剛的 commit,但保留修改過的檔案。
    • git reset HEAD^ --hard 取消剛剛的 commit,回到再上一次 commit的 乾淨狀態。
  11. 分支基本操作(branch)

    • git branch 列出所有本地端的 branch。
    • git branch -r 列出所有遠端的 branch。
    • git branch -a 列出所有本地及遠端的 branch。
    • git branch "branch名稱" 建立一個新的 branch。
    • git checkout -b "branch名稱" 建立一個新的 branch 並切換到該 branch。
    • git branch branch名稱 起始點 以起始點作為基準建立一個新的 branch,起始點可以是一個 tag,branch 或是 commit。
    • git branch --track branch名稱 遠端branch 建立一個 tracking 遠端 branch 的 branch,這樣以後 push/pull都會直接對應到該遠端的branch。
    • git branch --set-upstream branch 遠端branch 將一個已存在的 branch 設定成 tracking 遠端的branch。
    • git branch -d "branch 名稱" 刪除 branch。
    • git -r -d 遠端branch 刪除一個 tracking 的遠端 branch,例如git branch -r -d wycats/master
    • git push repository名稱 :遠端branch 刪除一個 repository 的 branch,通常用在刪除遠端的 branch,例如git push origin :old_branch_to_be_deleted
    • git checkout branch名稱 切換到另一個 branch(所有修改過程會被保留)。
  12. 遠端操作(remote)

    • git remote add remote名稱 remote網址 加入一個 remote repository,例如 git remote add github git://github.com/gogojimmy/test.git
    • git push remote名稱 :branch名稱 刪除遠端 branch,例如 git push origin :somebranch
    • git pull remote名稱 branch名稱 下載一個遠端的 branch 並合併(注意是下載遠端的 branch 合併到目前本地端所在的 branch)。
    • git push 類似於 pull 操作,將本地端的 branch 上傳到遠端。
  13. 合併操作(merge)

    • git merge branch名稱 合併指定的 branch 到目前的 branch。
    • git merge branch名稱 --no-commit 合併指定的 branch 到目前的 branch 但是不會產生合併的 commit。
    • git cherry-pick SHA 將某一個 commit 的內容合併到目前 branch,指定 commit 是使用該 commit 的 SHA 值,例如 git cherry-pick 7300a6130d9447e18a931e898b64eefedea19544
  14. 暫存操作(stash)

    • git stash 將目前所做的修改都暫存起來。
    • git stash apply 取出最新一次的暫存。
    • git stash pop 取出最新一次的暫存並將他從暫存清單中移除。
    • git stash list 顯示出所有的暫存清單。
    • git stash clear 清除所有暫存。
  15. 常見問題:

    • 我的 code 改爛了我想全部重來,我要如何快速回到乾淨的目錄?

      • git reset --hard 這指令會清除所有與最近一次 commit 不同的修改。
    • merge 過程中發生 confict 我想放棄 merge,要如何取消 merge?
      • 一樣使用 git reset --hard 可以取消這次的 merge。
    • 如何取消這次的 merge 回到 merge 前的狀態?
      • git reset --hard ORIG_HEAD 這指令會取消最近一次成功的 merge 以及所有你在這次 merge 後所做的修改。
    • 如何回復單獨檔案到原本 commit 的狀態?
      • git checkout 檔案名稱 這指令會將已經被修改過的檔案回復到最近一次 commit 的樣子。

Git 什么时候用什么指令的更多相关文章

  1. Git 基本知识与常用指令

    一.Git代码状态转换图 其中: 未被Git跟踪的状态为unstage状态: 已被Git跟踪的状态为stage状态(stage:阶段),因此包括staging状态和staged状态. untrack ...

  2. 大白话说GIT常用操作,常用指令git操作大全

    列一下在开发中用的比较多的git指令 git clone https://github.com/chineseLiao/Small-career // 克隆远程仓库到本地 git add . // 把 ...

  3. 对git的理解及常用指令

    以前总听说git[分布式版本控制系统]自己愣是搞不懂它到底要干哈-什么叫版本控制系统根本理解不了.现在工作需要必须要用到,结果好像就突然懂了git是干什么滴. 所以!原理这个东西的理解是要建立在大量的 ...

  4. Git版本控制原理和常用指令说明

    平时在Android Studio开发Android项目,习惯了点击右键或图标直接拉新fetch,pull,commit和push.但是必要的时候还得在终端输入命令行.比如正在开发新版本v3.0,老板 ...

  5. Git使用和介绍-基础指令

    转载请标明出处:http://blog.csdn.net/shensky711/article/details/52210625 本文出自: [HansChen的博客] 查看已有配置 取消已有的配置 ...

  6. 使用git的几个常用指令

    1. 移除git:rm -rf .git/ 2.查看结果:ls -al 3.语法糖(查看列表):ll 4.将远程库的内容,更新到本地:git pull origin master: 5.添加到本地仓库 ...

  7. Git各个状态之间转换指令总结

    基本状态标识 A- = untracked 未跟踪 A = tracked 已跟踪未修改 A+ = modified - 已修改未暂存 B = staged - 已暂存未提交 C = committe ...

  8. Git 几个重要操作指令对比

    1.git merge 和 git rebase https://blog.csdn.net/wh_19910525/article/details/7554489 http://gitbook.li ...

  9. 使用代码管理工具(git)管理代码的常用指令合集

    create a new repository on the command line echo "# test" >> README.md git init git ...

随机推荐

  1. SQL SERVER存储过程中使用事务与捕获异常

    https://www.douban.com/note/559596669/ 格式类似于 CREATE PROCEDURE YourProcedure ASBEGIN    SET NOCOUNT O ...

  2. 测试一下你的T-SQL基础知识-count

    下面count的返回值是多少? ) ); GO INSERT mytable ( myid, mychar ) VALUES ( , 'A' ), ( , 'B'), ( NULL, 'C' ), ( ...

  3. App主导现在 HTML5领衔未来

    HTML5能够让开发人员构建丰富的基于Web应用程序,使其能在任何设备中使用标准的Web浏览器.很多人认为HTML5将会让App过时.到底App还是HTML5会是谁赢得最后的胜利,在业界也有不少讨论, ...

  4. python web开发——c2 flask框架和flask_script

    重定向/error 通过flask中的redirect方法和自定义的newpath函数.redirect_demo函数实现重定向: #coding:utf-8 from flask import Fl ...

  5. 蒲公英(bzoj2724)(分块+区间众数)

    Input Output Sample Input 6 3 1 2 3 2 1 2 1 5 3 6 1 5 Sample Output 1 2 1 HINT \(n <= 40000\),$ m ...

  6. Python面向对象(类的成员之方法)

    day24 类的成员之方法 - 普通方法,保存在类中,由对象来调用,self > 对象 - 静态方法,保存在类中,由类直接调用 - 类方法,保存在类中,由类直接调用,cls > 当前类 c ...

  7. 手把手教你从零搭建Python数据分析环境

    由于最近再做推荐系统的特征处理,需要借助一些工具来筛选特征.最初使用了R,R的安装很简单,而且API也很容易使用,直接就能出图.后来,发现很多人在python和R之间做选择,所以我也在两个工具间摇摆不 ...

  8. grafana 运行

    1,下载好项目,然后进入到目录 键入: ./bin/grafana-server web 运行 https://www.waitig.com/grafana-config-and-run.html 2 ...

  9. WebBench源码分析

    源码分析共享地址:https://github.com/fivezh/WebBench 下载源码后编译源程序后即可执行: sudo make clean sudo make & make in ...

  10. webpack快速入门——CSS中的图片处理

    1.首先在网上随便找一张图片,在src下新建images文件夹,将图片放在文件夹内 2.在index.html中写入代码:<div id="pic"></div& ...