码迷,mamicode.com
首页 > 其他好文 > 详细

git命令(流程)

时间:2015-04-26 01:16:15      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:

1,配置你的信息:
git config --global 你的名字
git config --global 你的邮箱
--global 表示所有git仓库都会使用这个配置

2,创建SSH Key        
ssh-keygen -t rsa -C "youeamil@explode.com"
git ssh密钥地址        linux ~/.ssh     window 你的用户目录下
有 id_rsa(私钥)和id_rsa.pub(公钥)两个文件
复制id_rsa.pub中文件,在github上SSH Keys中,点击Add SSH key把复制的信息粘贴就可以使用git了
测试命令    ssh git@github.com

3,创建git仓库
git init
git add    文件名                    把文件添加到git仓库暂存区
git commit -m "提交说明"        把文件提交到仓库
commit 是一次性提交,add可以多次添加不同文件,add . 表示添加所有文件

4,链接远程仓库
克隆并创建仓库
git clone git@github.com:xiami99/xiami.git         克隆一个本地库
关联远程仓库
git remote add origin git@github.com:xiami99/1234.git
首先    git pull origin master
然后    git push origin master
        git push -u origin master    
-u参数 git不但会把本地master分支推送到远程分支,还会把远程分支和本地分支关联起来
完成合并!

5,查看仓库状态和修改
git status                        查看git仓库状态
git diff 文件名                    查看修改内容(一般在未commit前查看)
git diff HEAD -- readme.txt        查看工作区和版本库的区别,也可查看HEAD^版本库的区别

6,查看git日志
git log                         显示从最近到最远的提交日志
git log --pretty-oneline        显示较少的日志信息
git log --graph                    可以查看分支合并图
git log --graph --pretty=oneline --abbrev-commit        查看分支的合并情况
git log后,请使用qq 退出,否则会见到各种奇葩的不爽

7,撤销修改
git checkout -- readme.txt        丢弃工作区的修改
命令中的--很重要,没有--就变成了创建一个新分支的命令
未提交到暂存区的文件,一种是撤销到和版本库一模一样的状态
提交到暂存区的文件,撤销到和暂存区文件相同的状态
git reset HEAD reade.txt        可以把暂存区的修改撤销掉,重新放回工作区

8,版本回退
git reset --hard HEAD^        回退到上一个版本
git reset --hard commit-id    到达commit-id版本
git reflog                    用来记录你的每一次命令
在git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,第一百个版本HEAD~100

9,删除文件
git rm test.txt                确认从git仓库中用命令git rm 删掉,并且git commit
如果只是rm test.txt,那么是无法添加到暂存区和commit的,请使用git rm

10,创建分支
git branch                    查看当前分支,前面有*号的是当前分支
git branch 分支名            创建分支
git checkout -b dev            git checkout 切换分支,-b 表示创建并切换

11,合并分支
git merge dev                git merge 用于合并指定分支到当前分支
Fast-forward    表示这次合并是快进模式,合并速度很快

12,解决合并分支冲突
提示冲突后,使用git status 查看,找到冲突文件,然后打开修改
<<<<<<< HEAD
这里是当前分支冲突信息
=============
test分支冲突信息
>>>>>>> test
然后 git add,git commit,最后就可以删除指定分支了
我的理解是两个相同文件名的文件合并分支的话只能保存一个文件的内容

13,分支管理
git merge --no-ff -m "merge with no-ff" dev
使用--no-ff,在merge时会生成一个新的commit,从分支历史上就可以看出分支信息
而fast forward合并就看不出来曾经做过合并

14,Bug分支
git stash                    把当前工作现场储藏起来,等以后恢复现场后继续工作,储藏前一定要先add到暂存区
git stash list                用git stash list 查看刚才的工作现场存到哪去了
git stash apply                恢复,但是stash内容不删除,需要使用git stash drop来删除
git stash pop                恢复的同时把stash内容也删除了
git stash apply stash@{0}    恢复的指定的stash

15,删除分支
git branch -d dev
git branch -D dev            如果dev分支没有合并,是不能删除的,可以使用-D强制删除

16,查看远程库信息
git remote                    查看远程库信息,默认是origin
git remote -v                显示更详细的信息,显示可以抓取和推送的origin地址,没有推送权限,就看不到push地址


git 支持多种协议,包括https,但通过ssh支持的原生git协议速度最快

 

git命令(流程)

标签:

原文地址:http://www.cnblogs.com/geek12/p/4457199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!