創(chuàng)建新文件夾mkdir filename 然后創(chuàng)建新倉庫:
git init
從遠程庫克滦锸А:
git clone git@github.com:michaelliao/gitskills.git
添加和提交:
1. git add *
2. git add filename
git commit -m "commit messages" //改動提交到了 HEAD暫存區(qū)咧栗,但是還沒到你的遠端倉庫
查看當前文件狀態(tài):
git status
如果還沒有克隆現有倉庫,使用命令:
git remote add origin git@github.com:michaelliao/learngit.git
主分支創(chuàng)建并且換到dev分支:
git checkout -b dev //相當于這兩步 1.git branch dev 2.git checkout dev
同步遠程分支
git pull orign dev
修改文件后提交到本地dev分支
git commit -am "修改文件" //或者git commit -a -m "修改文件"
合并分支:
git merge dev
在合并改動之前挂捅,可以使用如下命令查看:
git diff <source_branch> <target_branch>
合并沖突時枕面,如有沖突,解決沖突后灵莲,重新提交:
git add filename
git commit -m "solve conflict" //標記沖突
切換到主分支:
git checkout master
刪除dev分支:
git branch -d dev
刪除遠程dev分支:
git push origin -d dev
推送改動:
git push -u origin master
查看日志:
git log
git log --pretty=oneline
回退版本:
git commit --amend // 撤銷上一次提交 并講暫存區(qū)文件重新提交
git checkout --<file> // 拉取暫存區(qū)文件 并將其替換成工作區(qū)文件
git reset HEAD --<file> // 拉取最近一次提交到版本庫的文件到暫存區(qū) 改操作不影響工作區(qū)
git reset --hard 1094a // 1094a為日志版本id
日志回歸,查看命令歷史:
git relog
更新本地倉庫至最新改動:
git pull
標簽
在Git中打標簽非常簡單澄者,首先笆呆,切換到需要打標簽的分支上,然后粱挡,敲命令git tag <name>就可以打一個新標簽
git tag v1.0
查看所有標簽:
git tag
默認標簽是打在最新提交的commit上的赠幕。有時候,如果忘了打標簽询筏,比如榕堰,現在已經是周五了,但應該在周一打的標簽沒有打嫌套,怎么辦逆屡?
方法是找到歷史提交的commit id,然后打上就可以了
$ git log --pretty=oneline --abbrev-commit
12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
4c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
比方說要對add merge這次提交打標簽踱讨,它對應的commit id是f52c633魏蔗,敲入命令:
git tag v0.9 f52c633
注意,標簽不是按時間順序列出痹筛,而是按字母排序的莺治。可以用git show <tagname>查看標簽信息:
$ git show v0.9
commit f52c63349bc3c1593499807e5c8e972b82c8f286 (tag: v0.9)
Author: Michael Liao <askxuefeng@gmail.com>
Date: Fri May 18 21:56:54 2018 +0800
add merge
diff --git a/readme.txt b/readme.txt
...
創(chuàng)建帶有說明的標簽:
git tag -a v0.1 -m "version 0.1 released" 1094adb
刪除標簽:
git tag -d v0.1
注意:標簽總是和某個commit掛鉤帚稠。如果這個commit既出現在master分支谣旁,又出現在dev分支,那么在這兩個分支上都可以看到這個標簽
將本地標簽推送到遠程:
git push origin tag_name // tag_name為標簽名
//Git 的推送和刪除遠程標簽命令是相同的滋早,刪除操作實際上就是推送空的源標簽
如果需要對tag指定的版本進行修改榄审,我們可以為其建立一個分支,其指令如下:
git checkout -b branch_name tag_name // branch_name:分支名 tag_name:標簽名
從遠程克隆分支:
git clone remote_repo -b branch_name // remote_repo:遠程倉庫路徑 branch_name:遠程分支名
遇到的問題
1.npm run -s precommit (node v8.9.3)
huideMacBook-Pro:graph huiyu$ git commit -m “更新代碼”
husky > npm run -s precommit (node v8.9.3)
fatal: Not a git repository: ‘.git’
husky > pre-commit hook failed (add –no-verify to bypass)
解決:
git commit -m “更新代碼” -n