GIT 常用指令

git 操作
声明用户

git config --global user.name "Your Name"
git config --global user.email "email@example.com"
查看当前git 用户姓名 邮箱
git config user.name
git config user.email

初始化本地仓库

git init

把修改过的工作区的文档提交到暂存区

git add   
git add 文件名 
git add .  

把暂存区的未提交的文档提交到(主干分支)

git commit -m "提交说明" . 

查看当前git状态

git status

查看Git 历史记录

git log
git log --pretty=oneline

回退版本

git reset --hard 版本id

显示所有的历史版本

git  reflog
git reset --hard 版本id

撤销修改

撤销工作区修改
git checkout --文件名
撤销暂存区的修改
git reset head 文件名
git checkout --文件名
如果添加到版本库,只能做版本回退

版本库的删除操作

rm 文件名 | 目录名
git commit -m "删除 " 文件名

取消删除

git checkout --文件名

版本库的分支

创建分支
git checkout -b dev
切换分支
git checkout master
合并分支 
	首先切换到分支master
	git checkout master 
	git merge dev
删除分支
git branch -d dev

解决冲突conflict
当多个人共同修改某一样,
一个人提交了之后,另一个人提交的时候就会出现错误

git status
当我们在主分支上执行  
git merge dev 的时候
其实已经合并了, 我们发现出现了conflict的时候
我们只需要在主分支上修改冲突的文档内容就可以了, 
vim  冲突文件  进行修改
然后 add  commit  -m "" .

远程仓库

首先创建github 账户 
账号:110
密码:sys
然后添加

new repository 一个仓库
注意 取消勾选不初始化仓库
(取消勾线不初始化)initialize this repository with a README
添加忽略(可以不添加,在工具上安装ignore插件 生成一个)
add .gittignore:java
创建好了之后在  clone or down 上复制下来自己的地址
http  或者是 ssh(可以免密推送)
https://github.com/dragon-123/repositorystart.git
git@github.com:dragon-123/repositorystart.git

将本地git 添加远程仓库

本地 远程仓库 添加  仓库名(origin)           地址
git remote add origin https://github.com/dragon-123/repositorystart.git
将本地 master分支推向远程仓库
git push -u origin master
(会让输入github密码) dragon-123 syso

删除本地绑定的远程仓库地址

git remote remove origin
然后添加就行了

挡下来github上的代码

进入到需要存放的位置
git clone https://github.com/dragon-123/repositorystart.git

当然我们可以用ssh 的

首先清除本地远程仓库
git remote remove origin
然后添加本地远程仓库
git remote add origin git@github.com:dragon-123/repositorystart.git

此时我们不能 git push -u origin master

我们需要授权
使用ssh方法免密登录仓库
进入到需要存放公私钥的地方
执行下面代码
ssh-keygen -t rsa -C "1106302861@qq.com"
然后在 Administrator文件(登录用户名)找到 .ssh 
把 id_rsa.pub 中的内容添加到 github 上面的ssh公钥上
最后执行的时候就可以免密登录了。
git push -u origin master  |  git push

本地和远程仓库冲突

git pull 往本地仓库下载远程仓库中的内容
每次执行 push之前,先把远程仓库中的内容pull 下来
如果出现冲突  就会出现 (master|MERGING)
我们可以add冲突的文件,然后进而去 add  commit  
然后
git  push 
把自己的分支提交上去
在本次创建一个新的分支,
然后
git push origin dev 

如果可以合并了

我们可以本地切换到主分支
git checkout master
git merge dev
然后
git push 推送到远程就可以了

删除本地分支

git branch -d dev

删除远程分支

git push -d origin dev

git idea 集成

VCS→Enable version ...
首先我们需要配置  setting  中的  terminal 
把 shell path  路径指向安装git的bin 目录下的sh.exe    如: D:\Git\bin\sh.exe 

接下来添加一个插件

ignore

重新启动idea

然后我们在项目中右键 new 一个 ignore 文件 选择git的,然后勾选java类型的,还有复选框idea中
带的需要忽略的文件后缀

把项目作为一个版本库初始化
添加本地映射
先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull
因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,
这句代码是在git 2.9.2版本发生的,最新的版本需要添加–allow-unrelated-histories

git pull origin master --allow-unrelated-histories
git push -u origin master
git pull origin master --allow-unrelated-histories

首先 git pull

git log --pretty=oneline
git reset --hard 想要回退的版本

如果也想让远程仓库回退,
首先
git push
如果出现
To gitee.com:dragon-123/ .git
说明 当前库和版本库不一致
那么如果想让当前库和远程版本库一致
执行:

git push -u origin master 

强制更新
如果想要变回来则执行

git reflog --pretty=oneline
git reset --hard 版本号

如果想让远程仓库跟着变化,则

git push -f origin master

或者
git push -u origin master
保存当前工作状态创建新的工作分支

假设你在dev分支上工作
有bug需要改
首先 
git stash 
保存工作状态
然后在需要改bug的分支上进行
切换到对应的分支
git checkout master

创建一个临时的分支
git checkout -b issue-101

在临时分支上修改完成后到主分支合并
git checkout master
git merge issue-101 -m "merged bug fix 101"
git branch -d issue-101
(或者: git merge --no-ff -m "merged bug fix 101" issue-101)
回到之前的分支
git checkout dev
查看工作现场
git stash list
(可以用 
git stash apply 	恢复工作状态
git stash drop	删除工作状态
恢复
也可以 
git stash pop	
恢复的同时 把 stash内容也删除
)

分支的应用

查看分支合并情况
git log --graph --pretty=oneline --abbrev-commit

多人协作

git remote 
查看远程库的信息
git remote -v  显示更详细的信息

推送分支

git push origin master
git push origin dev	

项目中常见的分支名称

master 分支是主分支,因此要时刻与远程同步;
dev 分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug 分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature 分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

抓取分支

git clone git@github.com:xdfadsaf/lsdfasdf.git
git branch 查看分支

git checkout -b dev origin/dev 
创建远程origin的 dev 分支到本地		

推送到远程dev

git push origin dev
自己也要在dev上操作

首先我们为了避免冲突先要 pull 下来
我们首先要指定 本地的dev分支与远程origin/dev分支的连接

git branch --set-upstream dev origin/dev

然后 pull 下来
如果有冲突 解决冲突后

git push origin dev

(我们首先先 git push origin dev) 推送下,如果冲突

git pull

解决好冲突后 推送

git push origin dev

git pull提示“no tracking information”,
则说明本地分支和远程分支的链接关系没有创建,用命令

git branch --set-upstream branch-name origin/branch-name。

总结:

git通常都是在dev 上工作,我们平时合并的时候也是在dev 上合并
git merge --no-ff -m "merged bug fix 101" issue-101 
--no-ff  意思是可以看到合并的状态

极客学院GIT教程: http://wiki.jikexueyuan.com/project/git-tutorial/

GIT 操作

声明用户
git config --global user.name “Your Name”
git config --global user.email email@example.com
初始化本地仓库
git init
工作区提交到暂存区
git add
git add .
git add 文件名
暂存区提交到主干分支
git commit –m “提交说明”
查看当前git状态
git status
查看git历史记录
git log
git reflog
git log –pretty=oneline
回退版本
git reset –hard 版本id
撤销修改
撤销工作区 git checkout –文件名
撤销暂存区 git reset head 文件名
git checkout –文件名
主干上的(版本库中的) 做版本回退
版本库的删除
rm 文件名|目录名
取消删除
git checkout –文件名

分支应用

创建分支
git checkout –b dev
切换分支
git checkout master
合并分支
git merge dev
删除分支
git branch –d dev
git push –d origin dev

查看分支情况
git log –graph –pretty=oneline –abbrev-commit

解决冲突
vim → add →commit

远程仓库
git remote add origin 远程仓库地址
将本地master分支推向远程仓库
git push –u origin master

删除本地仓库远程仓库地址
git remote remove origin
添加本地远程仓库地址
git remote add origin 远程仓库地址
生成ssh
ssh-keygen -t rsa -C 1106302861@qq.com
Administrator文件(登录用户名)找到 .ssh 把 id_rsa.pub 中的内容添加到 github 上面的ssh公钥上
查看远程仓库信息
git remote
git remote –v

下载
git pull origin master --allow-unrelated-histories
克隆
git clone 远程仓库地址

关于临时创建分支调bug
git stash
查看工作现场
git stash list
恢复工作状态
git stash apply
git stash drop

git stash pop

本地的分支与远程分支关联
git branch –set-upstream dev origin/dev

git通常都是在dev 上工作,我们平时合并的时候也是在dev 上合并 git merge --no-ff -m “merged bug fix 101” issue-101

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值