Git命令

基本linux命令

基本

  • cd:改变目录

    • cd..上级目录
    • cd 路径
  • pwd:显示当前目录
  • clear:清屏

文件

  • ls:列出当前目录所有文件
  • touch:创建一个文件
  • rm :移除文件
    • rm 文件名
  • mv:移动 文件夹
    • mv 文件名 目录名

目录

  • mkdir:创建目录
    • mkdir 文件名
  • rm -r:删除一个目录
    • rm-r 目录名


Git命令

文件简介

.gitconfig:Git的配置文件

.gitignore:忽略文件,不添加到暂存区

/mtk/              
#过滤整个mtk文件夹
*.zip               
#过滤所有.zip文件
/mtk/do.c        
#过滤/mtk/do.c文件

fd1/*      
#忽略目录 fd1 下的全部内容

/fd1/*    
#忽略根目录下的 /fd1/ 目录的全部内容;

!/fw/bin/
!/fw/sf/             
#不忽略 根目录下的 /fw/bin/ 和 /fw/sf/ 目录;
 

配置命令

git config --global --list:查看本地配置

git config --system --list:查看系统配置

Git原理

Working Directory:写代码的本地空间

Index:暂存区

Respository:本地仓库,有所有版本的数据

Remote:远程仓库

Git命令

git init:搭建本地仓库 

git clone:克隆仓库

git clone url

git status:查看现在分支状态

git add .:提交代码至暂存区

git commit -m:提交暂存取内容至本地仓库(后边可添加注释信息)

git push:推到远程仓库

分支

git branch:查看所有本地分支

git branch -r:查看所有远程分支

git branch [branch name]:新建一个分支,仍然停留在当前分支

git checkout -b [branch]:新建一个分支,并切换到该分支

git merge [branch]:合并指定分支到当前分支

git branch -d [branch-name]:删除分支

merge与rebase

merge

 rebase

 


 

 

冲突

(有人在你修改之前修改了master,你的master已经过时了)

git rebase

其原理是,把你的工作分支所有最新commit先摘除掉,然后基于master的最新提交拷贝一份Git tree,再将摘除的commit放在树的最前面。

  • 首先切换到master分支
git checkout master
  • 更新本地master代码
git pull origin master
  • 切换到工作分支
git checkout work-for-project-1
  • 做rebase操作
git rebase master

3. 产生冲突

如果在rebase的过程中,你在工作分支上修改过的文件,碰巧有人在master上也修改过同一个文件的同一行内容,这时候冲突产生了。提示信息类似如下:

error: could not apply fa39187... something to add to patch A  
When you have resolved this problem, run "git rebase --continue". 
If you prefer to skip this patch, run "git rebase --skip" instead. 
To check out the original branch and stop rebasing, run "git rebase --abort". 
Could not apply fa39187f3c3dfd2ab5faa38ac01cf3de7ce2e841... Change fake file

4. 解决冲突

  • 使用IDE或者VIM打开有冲突的文件,Git会很智能的标记出哪些内容有冲突:
If you have questions, please <<<<<<< master open an issue ======= ask your question in IRC. >>>>>>> work-for-project-1

你可以选择保留某些行,或者删除,或者更改。记得把<<<<<<<, =======, >>>>>>>这些删除掉。

  • 添加改动
git add .
  • 继续rebase过程
git rebase --continue

在这个过程中,你只需要解决冲突就好。不需要关注其他文件,因为这时候你并不在你的工作分支,而是在一个类似于缓存分支上。

这时要想把代码提交到远程GitHub上,需使用

git push force 或者 git push force-with-lease

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值