找到一个目录lib
在该目录下新建一个目录:
mkdir git
将该目录变成git可用的目录,命令:
git init
新建文件readme.txt:
touch readme.txt
修改该文件:
vim readme.txt
在其中添加两行:
this is the first readme.txt \n hello world
将该文件添加:
git add readme.txt
将该改动发布:
git commit -m "first edit readme.txt"
//-m参数后面接这次改动的说明
修改readme.txt:
vim readme.txt
查看git状态:
git status
//会显示有一个新的改动还未暂存
查看readme.txt的改动情况:
git diff readme.txt
//会显示有哪些改动
将该改动添加:
git add readme.txt
继续查看git状态:
git status
//会显示有一个未经提交的改动
将该改动提交:
git commit -m "change the readme.txt"
查看状态:
git status
//会显示没有新的改动
查看历史记录:
git log
//可以查看的所有版本的hash码,可以用命令跳到某个版本
跳到上一个版本:
git reset --hard HEAD^
回到原最新版本:
git reset --hard 原版本hash码
查看原版本hash码:
git reflog
将工作区的内容撤销,优先回到最近add的然后是上一次commit
git checkout -- readme.txt
撤销暂存区的更改:
git reset HEAD readme.txt
从git删除文件:
git rm test.txt
git commit -m "remove test.txt"
使用远程仓库
-创建rsa密码
ssh-keygen -t rsa -C "youremail@example.com"
-在git仓库下建立连接
git remote add origin git@github.com:michaelliao/learngit.git
推送本地仓库
git push -u origin master
除第一次可以省去-u参数
分支:
-创建分支
git branch dev//创建了一个dev的分支
-切换分支
git checkout dev
-查看分支
git branch
-回到master分支
git checkout master
-合并master分支与dev分支
git merge dev
-删除分支
git branch -d dev
-不用快速模式合并分支
git merge --no-ff -m "statement" dev
-创建暂存区快照
git stash
-恢复暂存区最新快照
git stash pop
-查看暂存区快照列表
git stash list
-恢复特定快照
git stash apply stash@{index}
推送本地仓库:
git push origin master
git push origin dev
强制删除未合并分支
git branch -D dev
第二人同步dev分支
git checkout -b origin/dev
git push origin dev
先设置对应关系
git branch --set-upstream-to=origin/dev dev
git pull//同步本地分支
设置标签
git tag