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

git常用命令操作

时间:2018-11-21 12:30:59      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:分布式   拉取   init   命令操作   冲突   连接   .com   sof   输入   

目前市场主流的版本控制系统主要分为:集中式版本控制系统与分布式版本控制系统。
集中式版本控制目前主流的:SVN
分布式版本控制系统目前主流的:Git

两者之间的区别:

集中式有中央服务器,开发人员需要从中央服务器获得最新版本的项目然后在本地开发,开发完推送到中央服务器中,因此无法脱离服务器。
分布式没有中央服务器,开发人员本地都有local repository
集中式必须要联网才能工作,而且对网络的依赖性较强,如果推送的文件比较大而且网络状态欠佳,则提交文件的速度会受到很大的限制。
分布式在没有网络的情况下也可以执行commit、查看版本提交的记录,以及分支操作,在有网络的情况下执行push到 Remote Repository。
集中式提交的文件会直接记录到中央版本库,分布式提交是本地操作,需要执行push操作才会到主要版本库。

Git工作过程图:
本地库与远程库交互的方式:
1、团队内协作

    成员1创建本地库,将代码提交到远程仓库,成员2clone下代码,加入团队后才可以进行push操作。

2、跨团队协作

    团队2可以fork团队1的代码,团队2通过pull request之后,通过团队1进行审核。

Git配置:

项目级别的配置:

git config user.name  tom
git config user.email  aaaa@aa.com

修改的文件在:当前项目下.git/config
用户级别的配置:

git config --global user.name tom
git config --global user.email aa@aa.com

Git命令:

创建仓库:git init
查看状态:git status

创建一个文件添加到git中
git add aa.txt 将aa.txt添加到git暂存区中。
git -rm --cached aa.txt:将aa.txt从暂存区删除。

提交:git commit -m "添加新文件"
添加并提交:git commit -am "xxx" add并commit
查看提交记录:git log    或者: git log --pretty=oneline  或者  git log --oneline  或者 git reflog

版本的前进与后退:git reset --hard 版本的索引值
版本的后退:只能后退:
git reset --hard HEAD^  后退一步
git reset --hard HEAD^^^        后退三步
git reset --hard HEAD~3     后退三步

--hard  --soft --mixed
--hard:工作区与暂存区与本地库一起改变
--soft:工作区与暂存区不变,本地库落后
--mixed:工作区不变,暂存区与本地库落后

git reset --hard HEAD   将暂存区与工作区与本地库状态同步
在当前版本的中删除了文件a.txt,然后查看git status,然后git add a.txt git commit -m ‘delete‘
当时,当前版本的中a.txt将不在存在,我们如果想找回,需要回到上一个版本中。才可以找回。
对于删除文件记录提交到暂存区,想恢复:
git reset --hard HEAD   这个时候,会将暂存区与工作同的内容与本地库进行同步操作。

--------前提是删除前的状态,提交到了git本地库里面。----------

比较文件差异:
git diff 文件名    默认是将当前工作区中的文件与暂存区中的文件进行比较的。
git diff HEAD 文件名   当前工作区与本地库中的版本进行比较的。

分支操作:

创建分支:git branch dev
查看分支:git branch -v
切换分支:git checkout dev
合并分支:git checkout master git merge dev
合并分支冲突问题:当修改了相同的内容的时候,会产生冲突问题
产生冲突时,需要对产生冲突的文件进行手动的合并操作
合并完成后,git add xx
git commit -m "xxxx"    注意:此时不带文件名。

git pull 从远程上拉取项目,它相当于git foreach与git merge两个命令的组合使用。

GitHub

git连接github
git remote origin xxxxxxx.git地址
git remote -v   查看
从服务器中拉取项目
从服务器中上传项目
解决冲突问题。

git push origin master
git remote add origin 仓库的地址

2、查询用户信息

git config --list

3、如果push遇到在输入密码是熟错后,就会报这个错误fatal: Authentication failed for

解决办法:

git config --system --unset credential.helper
之后你在push就会提示输入名称和密码
所以我们需要先同步一下
git pull origin master

6、更新项目

     git push origin master

7、创建分支

     git checkout -b dev
     等于:
     git branch dev
     git checkout dev

8、切换分支

     git checkout dev

9、合并分支,在合并分支的时候,需要合并到哪个分支,就要先切换到哪个分支

     git checkout master
     git merge dev  合并分支
    git reset --hard dev;
    git pull --force origin master

git常用命令操作

标签:分布式   拉取   init   命令操作   冲突   连接   .com   sof   输入   

原文地址:http://blog.51cto.com/13733462/2319746

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