文章目录
  1. 1. 前言
  2. 2. 设定你的Git
  3. 3. 建立自己的Git Repository
  4. 4. Git的基本功(status, add, commit, log, .gitignore)
  5. 5. Git流程整理
  6. 6. Git Branch
  7. 7. 合并branch到master branch
  8. 8. Confict: 冲突处理
  9. 9. 取消上一次的操作
  10. 10. 取消已暂存的file
  11. 11. 暂存操作(Stash)

前言

Git是一个很强大的version control工具,从入门coding开始的那天工作和日常就离不开git,但是git的这些常用命令有时候还是会忘记,我在这里把git commands大概的记录下来,已方便自己的查阅。

设定你的Git

设定作者的信息

git config --global user.name "jimmy kuo"
git config --global user.email "jimmy@gogojimmy.net"

查看git的设定

git config -- list

建立自己的Git Repository

自己建立一个新的Repository

git init

Clone别人的Repository

git clone

Git的基本功(status, add, commit, log, .gitignore)

查看git repository的修改状况

git status 

Untracked files(未被追踪的files,新增/修改的files还没被提交到git repository上的)

git add *

提交后状态变为 Changes to be committed

changes to be commited

committed之后的状态叫做stage,修改过但还没使用git add的file叫做unstage

git log

查看过去commit的记录

git log –stat

git log -p

更详细的变更内容,具体到代码

Git流程整理

修改file -> 加入stage(git add) -> 提交(git commit)-> 继续修改其他file

Git Branch

查看当前branch

git branch

开一个新的branch,名叫cat

git branch cat

切换到别的branch

git checkout cat

合并branch到master branch

基于master branch目前最后一次的commit内容再往后把你在cat branch上commit的内容加上去

git rebase

查看master branch和其他branch的差异

git diff

把cat branch上开发的东西合并到master上

git merge cat

Confict: 冲突处理

通常在merge或是rebase的过程中产生了confict,这时候git会停下来请你去处理

  1. 将发生confict的档案打开,处理内容(删除<<<.===,>>>)
  2. 使用git add 将处理好的file加入stage
  3. 反复1~2直到所有confict处理完毕
  4. git commit提交合并信息
  5. 完成

取消上一次的操作

取消刚刚的merge动作

git reset --hard ORIG_HEAD

取消已暂存的file

取消刚刚add到stage中还没修改完的file

git reset HEAD file

取消刚刚修改过的file

git checkout -- file

回复前修改的档案要记得备份

修改上一次的commit讯息

git commit --amend

强制恢复到上一次commit的版本

git reset --hard HEAD

恢复到上一次commit的版本,HEAD^指目前版本的上一个版本,Head~2是再上一个

  • git reset, hard 與 soft 的差異

你可能會在這邊感到疑惑,在使用 git reset 的時候都會看到一個 soft 或是 hard 的參數,這代表什麼樣的意義?基本上在使用 git reset 的時候,都會把目前狀態回復到你想回復的版本,但若是不加參數的情況,會把你做過的修改仍然保留,但是,若是加上 —soft 參數,則會把做過的修改加入 stage ,若是加上 hard 參數的話則是把做過的修改完全刪除,回到那個版本原本的樣子。

暂存操作(Stash)

将目前所做的修改都暂存起来

git stash

取出最新一次的暂存

git stash appl

取出最新一次的暂存并将他从暂存清单中移除

git stash pop

显示出所有的暂存清单

git stash list

清楚所有的暂存

git stash clear

Git情景剧:在什么情况下该使用什么命令

文章目录
  1. 1. 前言
  2. 2. 设定你的Git
  3. 3. 建立自己的Git Repository
  4. 4. Git的基本功(status, add, commit, log, .gitignore)
  5. 5. Git流程整理
  6. 6. Git Branch
  7. 7. 合并branch到master branch
  8. 8. Confict: 冲突处理
  9. 9. 取消上一次的操作
  10. 10. 取消已暂存的file
  11. 11. 暂存操作(Stash)