git备忘录
1.如何安装git
- Mac
brew install git
- Linux(Ubuntu)
apt-get install git
- windows 下载 msysgit
2.如何设定 Git
- Mac : Set Up Git on Mac
- Linux : Set Up Git on Linux
- Windows : Set up Git on Windows
3. 开始一个 Git Repository
- 使用
git init
建立一个git仓库 使用git init --bare
建立一个裸仓库 - 使用
git clone
来获取一个git 仓库
4. 将文件加入Stage
- 使用
git add filename
将文件加入stage - 也可以使用
git add .
将所有修改文件加入 stage
5. 取消前一次文件add (reset)
git reset HEAD filename
6. 如何將文件提交(commit)
git commit -m 'commit信息'
可以略过编辑器提交 commitgit commit -am 'commit信息'
等同与git add . && git commit -m 'commit信息'
7. 如何修改/取消上一次的 commit
git commit --amend
修改上一次的 commit 信息。git commit --amend filename1 filename2
將filename1、filename2加入上一次的 commit。git reset HEAD^ --soft
取消刚刚的 commit,但保留修改的文件git reset HEAD^ --hard
取消刚刚的 commit,回到再上一次 commit 状态
8. 分支基本操作(branch)
git branch
列出所有本地端的 branchgit branch -r
列出所有远程端的 branchgit branch -a
列出所有本地及远程端的 branchgit branch "branch名称"
建立一個新的 branchgit checkout branch名称
切换到另一個 branch(所有修改过程會被保留)git checkout -b "branch名称"
建立一個新的 branch 并切换到该 branchgit branch -d "branch名称"
刪除 branch
9. 远端操作(remote)
git remote add remote名称
remote地址 加入一个 remote repository,例如
git remote add github git://github.com/foursking/test.git
git push remote名称 :branch名称
刪除远端 branch,例如
git push origin :somebranch
git pull remote名称 branch名称
下載一個远端的 branch 并合并(注意是下载远端的 branch 合并到目前本地端所在的 branch)git push
类似于pull 操作,將本地端的 branch 上傳到远端
10. 合并操作(merge)
git merge branch名称
合并指定的 branch 到目前的 branchgit merge branch名称 --no-commit
合并指定的 branch 到目前的 branch 但是不會产生合并的 commit
11. 以下操作自己还不是很熟练,暂时不整理
- 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 -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 cherry-pick SHA 將某一個 commit 的內容合併到目前 branch,指定 commit 是使用該 commit 的 SHA 值,例如 git cherry-pick 7300a6130d9447e18a931e898b64eefedea19544
git stash 將目前所做的修改都暫存起來
- git stash apply 取出最新一次的暫存
- git stash pop 取出最新一次的暫存並將他從暫存清單中移除
- git stash list 顯示出所有的暫存清單
- git stash clear 清除所有暫存