Git操作文档

来源:互联网 发布:知乎如何关闭问题 编辑:程序博客网 时间:2024/06/05 14:49

mkdir 创建文件夹
cd 进入当前目录 ( 不写目录名 直接回到家目录)
cd .. 回到上一层
ls 查看当前目录内容
ls -a 查看当前目录下隐藏文件
pwd 查看当前目录
open . 打开当前目录
rm 删除文件


建立项目仓库

$ cd Git$ git init 

上述操作的结果是在 WORK 目录下创建了一个.git隐藏目录,它就是所谓的Git仓库,不过现在它还是空的。另外WORK目录也不再是普通的文档目录了,今后我们将其称为工作树。

$ git add .    添加所有文件$ git commit -m “添加文件”  告诉git,把文件提交到仓库 并备注为”添加文件”

commit 只负责把暂存区的文件提交 文件没有被写入到暂存区,commit 不会提交到仓库

$ git status  查看仓库当前状态 $ git diff    查看具体改变内容

版本回退

$ git log     查看仓库历史记录(详细版)$ git reflog  查看仓库历史记录(精简版)$ git log --pretty=oneline  (版本号加版本备注)$ git log --pretty=oneline --abbrev-commit (前7位版本号加版本备注)$ git reset --hard HEAD^ /*回到上一个版本 HEAD^^回到上上个版本 回到往上三个版本以上 用HEAD~100*/$ git reset --hard e8f9206 (回到之前以后恢复新的版本)

删除文件

$ git rm text1.rtf    删除text1.rtf文件$ git checkout -- text1.rtf   从本地库中把text1.rtf找回来

远程仓库

在GitHub上创建一个远程库,并配置公钥,每一个远程库对应一个公钥

$git remote add origin git@github.com:UniqueMy/learngit.git关联远程库   

注意更换为自己的远程库名

$ git push -u origin master

把本地库中内容push到远程库中 (-u 参数 是为了把本地master分支和远程master分支关联,以后可以简化命令)

$ git push origin master  把本地master分支的最新修改推送至GitHub

克隆

$ git clone git@github.com:UniqueMy/learngit.git$ git checkout -b dev origin/dev   克隆远程的dev分支到本地$ git pull     把最新的内容抓取下来$ git branch --set-upstream dev origin/dev  设置本地dev分支和远程 origin/dev分支的链接

创建分支

$ git checkout -b dev     checkout 加上 -b 表示创建并切换 相当于$ git branch dev$ git checkout dev$ git branch <name> 创建分支$ git branch 列出所有分支 当前分支会用*标注$ git merge <name> 合并指定分支到当前分支$ git branch -d <name> 删除分支

解决冲突

$ git log - -graph 查看分支合并图$ git merge --no-ff -m "merge with no-ff" <name> 

合并分支并创建一个commit 所以加入-m参数 - -no-ff这种合并分支的模式和默认的Fast forward模式相比,能保存合并的历史记录 能看出曾经做过合并 另一种模式不能看出做过合并


修复BUG

$ git stash       把手头未完成工作现场储存起来$ git stash list  查看储存起来的工作现场$ git stash pop   恢复工作现场并把stash的内容删除$ git stash apply 恢复工作现场 不删除stash$ git stash drop  删除stash

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场

$ git branch -D <name> 强制删除一个还没有合并的分支

多人协作

$ git remote 查看远程库信息 (精简版)$ git remote -v 查看远程库信息 (详细版)$ git push origin <name>  把分支内容推送到远程库

多人协作的工作模式通常是这样:
1. 首先,可以试图用git push origin 推送自己的修改;
2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3. 如果合并有冲突,则解决冲突,并在本地提交;
4. 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令
git branch –set-upstream-to origin/


创建标签

$ git tag  查看所有标签$ git tag <name> 打标签$ git tag <name> <版本号前6位> 给指定版本打标签$ git show <name> 查看标签信息$ git tag -a <标签名> -m <标签说明> <版本号> 打一个有说明的标签$ git tag -d <name> 删除标签$ git push origin <name> 远程推送某个标签$ git push origin --tags 远程推送所有未推送的标签删除远程标签1.$ git tag -d <name> 删除本地标签2.$ git push origin :refs/tags/<name> 删除远程标签配置别名$ git config --global alias.st status 这样st 就代表 status$ cat .git/config  每个仓库的配置文件$ cat .gitconfig   当前用户的配置文件
1 0
原创粉丝点击