1,准备工作
到官网下载并安装git
2,创建版本库
创建目录并切换到该目录执行
git init
将该目录设置为可以管理的仓库
3,常用操作:
添加文件:git add filename
提交文件:git commit 或 git commit -m "提交说明"
查看提交记录:git log
回退到上一版本:git reset --hard HEAD^
回退到上上一版本:git reset --hard HEAD^^
以此类推。。。
或者
git reset --hard commitid
如果窗口关闭,之前的commit id接招不到了,这就需要使用
git reflog 可以查看之前的每一次命令,第一列即为commit id,这样就可以退回到之前的版本了
git init 初始化后的目录即为工作区,该目录下还有一个隐藏文件
.git 它是 git 的版本库,stage为暂存区,git add 命令会将文件添加到stage,git会创建一个默认的分支master,还有一个指向该分区的head指针,当git commit 后会将文件提交到分支里
查看工作区中文件的状态:git status
<1>Changes to be committed
<2>Changes not staged for commit
<3>Untracked files(未添加文件)
<4>nothing to commit (working directory clean)
如果只git add 而不 git commit 修改文件是不会被添加到仓库里
对比工作区域版本库里文件的差别:git diff HEAD -- filename
撤销工作区的修改:git checkout -- filename
撤销暂存区的修改:git reset HEAD filename (文件状态由Changes to be committed ---> Changes not staged for commit)
删除仓库中工作区已删除的文件:git rm filename
git commit
4,远程仓库
申请github账号
生产公钥
将其保存到
C:\Users\14758\.ssh\命名为id_rsa.pub
常用命令:
添加远程仓库:git remote add origin url
检出远程仓库:$ git clone git@github.com:michaelliao/gitskills.git
删除远程仓库:git remote rm name
删除远程仓库地址:git remote rm origin
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
查看远程地址:git remote -v
git branch -a,就是查看远程的所有分支列表了,git branch是查看本地的git分支。如果所示,绿色代表当前项目所在的分支,红色就是远程分支列表。
创建本地分支:git branch branchname
查看本地分支:git branch
查看远程分支:git branch -r
切换分支:git checkout branchname
删除本地分支:git branch -d branchnaem
强行删除本地分支:git branch -D branchnaem
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:git branch -r -d origin/branch-name
推送本地内容到远程:git push origin branchname
强制推送本地内容到远程:git push -u origin branchname -f
查看分支合并状况:$ git log --graph --pretty=oneline --abbrev-commit
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
$ git merge --no-ff -m "merge with no-ff" dev
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并
5,bug分支
1,将当前工作区隐藏
git stash
2,查看工作区是干净的
git status
3,创建分支修复bug
git branch bug
4,修复完成后合并
git merge --no-ff -m "merged bug fix 101" bug
5,删除bug分支
git branch -d bug
6,查看隐藏的工作现场
git stash list
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了:
6,标签
打标签 git tag name
查看 git tag
为指定提交打 git tag name commitid
查看标签信息 git show tagname
私钥签名 git tag -s v0.2 -m "signed version 0.2 released" fec145a
指定标签信息 git tag name -m "message"
删除标签 git tag -d name
将某个标签推送到远程:git push origin name
推送全部 git push origin --tags
删除远程标签:先删除本地:git tag -d name
再远程:git push origin :refs/tags/v0.9
7,码云
申请账号
将C:\Users\14758\.ssh\id_rsa.pub中的key添加到码云
创建仓库
github与码云共存
先删除github : git remote rm origin
添加github:git remote add github git@github.com:pengxu0118/Git.git
添加码云:git remote add gitee git@gitee.com:pengxu0118/Git.git
推送:git push github或 gitee branchname
这是是我学习时的一些总结,如果想要系统学习可以访问https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000廖雪峰的官方网站,里面有详细的讲解