您的位置:首页 > 其它

Git操作文档

2015-12-24 09:49 337 查看
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   当前用户的配置文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 文档 终端命令