Git实际应用

创建仓库以及本地初始化仓库并连接到仓库

Git 全局设置:

git config --global user.name "xxx"
git config --global user.email "xxxx@xxx.xx"

当前项目文件家设置

git config --local user.name "XXX"
git config --local user.email "xxx@xx.xxx"
# 查看
git config --list

创建 git 仓库:

# 创建文件夹并进入
mkdir xx
cd xx
# 初始化仓库
git init 
# 创建一个文件
touch README.md
# 将该文件添加到暂存区
git add README.md
# 将暂存区内容添加到本地仓库中,并添加备注
git commit -m "初始化项目"
# 将一个远程仓库与本地Git仓库关联起来
git remote add origin https://gitee.com/xxx/xx.git
# 本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push
git push -u origin "master"

已有仓库

cd existing_git_repo
git remote add origin https://gitee.com/carwang/mygit.git
git push -u origin "master"

分支

创建一个分支

# 创建一个分支
git branch xxx
# 切换一个分支
git checkout xxx
# 创建一个分支并切换(合并上面俩个命令)
git checkout -b xxx

创建一个分支完了后,将新的分支推到远程去(也可以不推)

# 起始不是这个命令,但是输完后会有提示。
git push
# 提示
git push --set-upstream origin xxx

将远程有的分支拉取到本地

git fetch origin dev

俩种分支的合并

git merge aaa into bbb
git rebase aaa

实际场景

在开发新需求的时候来了bug
主分支(线上):master
开发分支:dev
新需求分支(从主分支上切出来,最后请求合并到dev,由leader审核并到dev分支):HCKJ-1024
测试分支(如果这条大功能开发完成或者bug修复完成合并到test分支,然后进行测试。测试完成后合并到主分支):test
修改bug分支(可能从主分支切也有可能从测试分支切,最后都是合并到测试分支):fix-bug

# 创建分支并切换
git checkout -b HCKJ-1024
# 创建远程分支并连接本地
git push --set-upstream origin HCKJ-1024
# coding..... 
git add .
git commit -m "xxxx"
git push
      # 切到主分支一定要将当前分支保存起来
      # a:提交git commit -m,可推送到远程也可以不推送(最后还是有记录)
      # b:放入栈里面暂存
      # 暂存
      git stash save
      # 查看暂存
      git stash list
      # 取出(按顺序弹出暂存,必须在当前分支最好这个分支不要有改动,不然会有merge)
      git stash pop 
      # 取出(根据ID取,必须在当前分支最好这个分支不要有改动,不然会有merge)
      git stash apply ID
            # 切换到主分支
            git checkout master
            # 切出修复分支
            git checkout -b fix-bug
            # coding..... 
            git status              //查看当前状态,并且给出下一步具体解决方案
            git status -s           //简洁显示修改的文件名
            git add .
            git commit -m "xxxx"
            git push
            # 查看提交日志,格式化git log --pretty=oneline
            git log 
            # 回退到之前某个提交的时候 (回退之前的提交前可以先查看一下git show commitID)
            git reset commitID
            # 切换到主分支
            git checkout test
            # 拉取最新test
            git pull
            # 合并修复bug分支到test分支
            git merge fix-bug into test
 
# 切换到新功能开发分支
 git checkout HCKJ-1024
# 弹栈
git stash pop
# coding
git add .
git commit -m "xxxx"
git push
# 切换到dev分支
git checkout dev
# 拉取dev最新代码
git pull
# 合并HCKJ-1024分支到dev分支
git merge HCKJ-1024 into dev

# 注意,如果coding的功能内容很多天,我们得每天合并一下test分支到我们当前的开发分支。
# 在HCKJ-1024分支
git merge orgin dev

rebase压缩commit

# 查看是从什么地方切出来的
git log
# 找到切出点的ID
git rebase -i 切出点的ID
# 留第一个,其它都改成s。然后:wq
# 删除其它commit记录保留一个大功能的,然后:wq
# add已经跟踪的文件
git add -u  // 不用
# 提交
git commit -m "修改信息"
# 强制push以替换远程仓的commitID
git push --force
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值