Git常用命令

在此推荐一个非常不错的Git学习网站:http://www.liaoxuefeng.com

 

一,创建版本库
①git init 

把指定的目录变成Git可以管理的仓库

②git add readme.txt

把readme.txt放到Git暂存区

③git commit -m "test"

把暂存区里面的内容提交到Git仓库,所以如果想提交代码到Git仓库必须经过②和③两个步骤

 

二,时光机穿梭

①git status

查看工作空间里面的文件还有没有提交到暂存区,暂存区里面的内容有没有提交到Git仓库

1.工作空间存在文件没有提交到暂存区

2.暂存区存在文件没有提交到Git仓库

3.暂存区里面的文件提交到Git仓库


 

②git diff readme.txt


git tracks change of files:Git跟踪到有文件发生了改变

三,版本回退

①git log

查看历史提交记录

②git log -- pretty=oneline

输出提交版本概要信息

③git reset --hard HEAD^

Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

 

 

git add readme.txt 

将文件提交到Git暂存区

 

Git commit -m "test"

将文件提交Git仓库

 

git checkout -- readme.txt 

将本地工作空间里面的文件与Git暂存区里面的文件进行比较,删除本地文件里面多余的内容

 

git reset HEAD readme.txt

将Git暂存区里面的内容还原到上一个版本

 

rm test.txt

删除工作空间里面的文件

 

git rm test.txt

删除Git版本库中的文件

 

远程仓库

 

git branch dev

创建分支

 

git checkout dev

切换分支

 

git branch

查看当前分支

 

git checkout -b dev

创建并切换到分支

 

 

 

git add -A 和 git add .  以及 git add -u的区别

git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改以及新文件,但不包括被删除的文件

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区,add -u 不会提交新文件(untracked file).(git add --update的缩写)

git add -A : 是上面两个功能的集合(git add --all的缩写)

参考:http://www.cnblogs.com/skura23/p/5859243.html

 

 

git show 某次的提交哈希值 文件名(可选)

可以查看某个版本提交的文件

 

 

 

多人协作(重要)

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。

①.要查看远程库的信息,用git remote

②.要查看用户可以对远程仓库进行哪些操作,用git remote -v

 

git branch dev : 创建本地分支

说明:在这里为什么说本地分支呢?因为单纯使用git branch dev命令之后,只会在本地创建dev分支,而在远程仓库并没有dev分支

 

git checkout dev:切换到本地分支

git checkout -b dev:创建并切换本地分支

git checkout dev:切换成本地dev分支

git branch:查看当前正在使用的分支

 

git push origin dev : 生成远程仓库dev分支(分支名称dev)并提交代码

说明:在使用该命令的时候,因为远程仓库还没有dev分支,该命令会在远程生成dev分支并提交代码

 

git merge dev:在master分支上执行该命令的作用:将dev分支上的代码合并到master分支上

 

git branch -d dev :删除本地分支,此时远程仓库的分支并没有删除掉

 

git branch origin :dev  删除远程仓库分支dev

说明:可以用这个非常无厘头的语法来删除它:git push  [远程名] :[分支名],注意origin后的空格

 

在Git v1.7.0 之后,可以使用这种语法删除远程分支:

git push origin --delete <branchName>

 

在这里说明一下 我日常使用Git开发流程

①克隆Git仓库项目到本地

git clone git@github.com:michaelliao/gitskills.git

 

②创建本地分支并切换到分支dev

git checkout -b dev  或者 git branch dev (创建分支) , git checkout dev(切换分支)

 

③在dev上开发,开发完成后提交到服务器dev分支(此时会自动创建分支dev)

git push origin dev 

 

④合并代码,首先需要切换到master分支

git checkout master

 

⑤更新master

git pull origin master

 

⑥将dev分支合并到master

git merge dev

 

⑦合并成功后提交master

git push origin master

 

说明:将master合并到分支也是同样的步骤

 

版本回退,为了安全起见 一定要在分支上进行

先从master分支 dev

git branch dev

 

切换分支

git checkout dev

 

回退到指定版本

git reset --hard commitVersion 

 

 

 

Git命令练习:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交

 

 

 

参考:http://www.cnblogs.com/wangkongming/p/4515273.html

Git在线教程:https://git-scm.com/book/zh/v1

http://zengrong.net/post/1746.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值