在廖大的博客学习了很多内容,这一篇搬运也来自git的简单教程,主要就是介绍了分布式文件管理系统的基本使用情况:包括创建、提交,以及如何使用github等。学习笔记如下:有兴趣者可以移步廖雪峰博客。
git使用
开源分布式版本控制系统
创建、提交
- 创建一个文件夹用于存放文件,作为版本库
-
git init
,将文件夹作为Git仓库 - 向仓库添加文件
git add
,可以添加多个文件 - 向仓库提交文件
git commit
+-m
"description"
查看
-
git status
,查看仓库状态 -
git diff
+filename,查看具体内容(working tree和index file) -
git diff HEAD
+filename,(working tree和commit)
版本退回
-
git log
查看历史记录 -
git log --pretty-oneline
,每行只显示提交文件以及备注 -
git reset --hard HEAD^
,退回上一版本,HEAD
表示当前版本,^
,表示上一版本,^^
上上版本,HEAD~100
,往上100个版本 -
git reset --hard 版本id
,可以找回某个版本 -
git reflog
,查看命令历史
工作区和暂存区
working directory/repository(工作区下的隐藏目录.git)
![](https://img.haomeiwen.com/i14359324/4b774932c2c208ef.png)
修改的文件被放入暂存区(stage/index),而需要提交的文件则将暂存区的文件提交到master分支。
git status
查看的是暂存区。
git add
,把修改的结果一直add到暂存区,最后再提交。
撤销修改
-
git checkout --filename
-让文件回到最近一次git commit
或者git add
状态;工作区的修改全部撤销。 -
修改只在工作区发生,想撤销用上面的办法,如果
git add
到了暂存区,则需要用git reset HEAD <file>
回到上一步(工作区),再重复上面的步骤。
删除
rm <file>
使用github
- 注册github
- 关联远程库
git remote add origin git@server-name:path/repo-name.git
- 推送master分支所有内容
git push -u origin master
克隆
可以将github远程库内容下载到本地
git clone git@github.com:account/repository.git
分支管理
- 查看分支
git branch
- 创建
git branch <name>
- 切换
git checkout <name>
- 创建+切换
git checkout -b<name>
- 合并某分支到当前分支
git merge <name>
- 删除
git branch -d <name>
冲突解决
当git出现冲突时通过手动修改文件,再提交
git log --graph
来看分支合并图
git merge --no-ff -m "merge with no-ff" dev
,--no-ff
表示禁止用FAST forward
,-m表示将commit
描述写进去。
git使用建议
理由分支策略,在分支上修改和记录,最后合并到master上。
所以根据添加、修改、bug等可以单独建立多条分支。
多人协作
- 查看远程库
git remote -v
- 推送分支
git push origin master
,可以推送不同的分支。 - 抓取分支
- 先推送自己的修改
git push origin <branch-name>
- 推送失败,先
git pull
- 合并有冲突先解决冲突
- 解决冲突后用
git push origin <branch-name>
-
git pull出错根据提示解决
- 先推送自己的修改
标签管理
git tag <tagname>
,可以指向commit id
git tag -a <tagname> -m "aaaaa"
,指定标签信息
git tag
查看所有标签
git push origin <tagname>
推送本地标签;git push origin --tags
全部推送
`git tag -d <tagname>`删除一个本地标签
git push -u origin master -f
多个远程库报错上传文件的解决办法。origin可以换成远程库名称。
github使用
- 先关联库
- fork或者自己建库
git remote add
- 将远程库内容用
git clone
下载到本地 - 上传或者修改文件,添加进本地库对应的文件夹
- 同步远程库,
git push <remotename> master
。 - 需要提交修改的代码或者建议可以发起
pull requests
mac终端的一些命令:
mkdir
+filename|创建文件夹
cd
+filename|定位到文件目录下
pwd
查看当前目录
mv 原文件路径/文件 新路径
给自己的话:
虽然现在的每一个步骤和操作都要花费无比巨大的时间和精力,但是学习是无止境的,长风破浪会有时,直挂云帆济沧海。
网友评论