前言:html
首先了解一下git的是什麼:git
【百度百科解釋】Git是一個開源的分佈式版本控制系統,能夠有效、高速的處理從很小到很是大的項目版本管理。[2] Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。github
github是什麼:vim
GitHub 是一個面向開源及私有軟件項目的託管平臺,由於只支持 Git 做爲惟一的版本庫格式進行託管,故名 GitHub。bash
注意 : gitHub 私有倉庫是收費的,其同類產品「碼雲」,建立私有倉庫是免費的。服務器
1.安裝app
Linux 安裝git分佈式
# yum -y install git-allide
Windows 安裝fetch
https://git-scm.com/download/win
初次提交代碼須要做以下設置
Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly:
git config --global user.name "Your Name" git config --global user.email you@example.com
If the identity used for this commit is wrong, you can fix it with:
git commit --amend --author='Your Name <you@example.com>' |
2.Git 倉庫維護
查看分支 git branch
建立分支 git branch <name>
切換分支 git checkout <name>
建立+切換分支 git checkout -b <new branch>
合併到當前分支 git merge <other branch name>
刪除本地當前分支 git branch -D <current branch name>
刪除遠程分支 git push origin :test
3.代碼提交與合併
3.1 commit and push
git add .
git commit -m "取消slave集羣數據插入"
git pull --rebase origin master
若是發生衝突,修改衝突文件後
git add ./
git rebase --continue
git push origin caixisheng
3.2 by bash
例: 將分支 cai 合併到主分支master
$ git checkout master
$ git merge cai
$ git push origin master
3.3 stash
$Git stash 可用來暫存當前正在進行的工做, 好比想pull 最新代碼, 又不想加新commit, 或者另一種狀況,爲了fix 一個緊急的bug, 先stash, 使返回到本身上一個commit, 改完bug以後再stash pop, 繼續原來的工做。
基礎命令:
$git stash
$do some work
$git stash pop
進階:
當你屢次使用’git stash’命令後,你的棧裏將充滿了未提交的代碼,這時候你會對將哪一個版本應用回來有些困惑,’git stash list’命令能夠將當前的Git棧信息打印出來,你只須要將找到對應的版本號,例如使用’git stash apply stash@{1}’就能夠將你指定版本號爲stash@{1}的工做取出來,當你將全部的棧都應用回來的時候,可使用’git stash clear’來將棧清空
3.4 將一個分支提交到另外一個分支上
git push origin develop:caixisheng
4. tag
建立tag
git tag [name]
刪除tag
git tag -d [name]
查看tag
git tag
切換tag
git checkout [tagname]
Tag 推送服務器
git push origin v1.0
git push origin --tags 將本地全部tag一次性提交到git服務器
5.查詢當前分支狀態
git status 顯示被修改的文件
git diff 顯示具體修改的細節
6.inux git 配置文件修改
1.在~/下, touch建立文件 .git-credentials, 用vim編輯此文件,輸入:
https://{username}:{password}@github.com
注意去掉{}
2.在終端下執行 git config --global credential.helper store
3.能夠看到~/.gitconfig文件,會多了一項:
[credential]
helper = store
7.版本回退
git reset --hard 返回到當前分支最後一次提交的狀態
git reset --hard origin/develop 將當前分支恢復爲其餘分支的狀態
8.遠程分支
查看遠程分支
git branch -r
拉取遠程分支並建立本地分支
first: git fetch
方式1:git checkout -b 本地分支x orign/遠程分支x
方式2: git fetch origin 遠程分支名x:本地分支名x
9.常見錯誤 non-fast-forward後的衝突解決:
參考博客:http://blog.csdn.net/chain2012/article/details/7476493
強制推送 -f
git push origin [branch name] -f
參考連接: