首页 > 其他分享 >git使用

git使用

时间:2023-05-29 20:37:40浏览次数:58  
标签:git -- rebase stash 使用 commit 分支

1. 下载 git

2. 生成 ssh 密钥,执行ssh-keygen -t rsa -C "公司内部邮箱地址"

3. 切换到 ~/.ssh 目录,ls 打开当前文件,复制其中id_rsa.pub的内容

4. 在仓库中添加 ssh key,比如 code 中,点击页面右上方的SSH Key,把id_rsa.pub的内容粘过来

5. 全局配置 git 的用户名和邮箱

git config --global user.name "xxx"
git config --global user.email "[email protected]"

注:https 方式需要每次提交前都手动输入用户名和密码,ssh 的方式配置完毕后 Git 都会使用你本地的私钥和远程仓库的公钥进行验证是否是一对秘钥,从而简化了操作流程

 

git 工作流程

workspace:工作区(本地编辑器)

index:暂存区(git add 后移入)

repository:本地仓库(git commit 后移入)

remote:远程仓库(git push后移入)

 

git 基本操作

1. git add

# 添加某个文件到暂存区,后面可以跟多个文件,以空格区分
git add xxx
# 添加当前更改的所有文件到暂存区。
git add .

2. git commit

# 提交暂存的更改,会新开编辑器进行编辑
git commit 
# 提交暂存的更改,并记录下备注
git commit -m "you message"
# 等同于 git add . && git commit -m
git commit -am
# 对最近一次的提交的信息进行修改,此操作会修改commit的hash值
git commit --amend

3. git pull

# 从远程仓库拉取代码并合并到本地,可简写为 git pull 等同于 git fetch && git merge 
git pull <远程主机名> <远程分支名>:<本地分支名>
# 使用rebase的模式进行合并
git pull --rebase <远程主机名> <远程分支名>:<本地分支名>

4. git fetch

# 获取远程仓库特定分支的更新
git fetch <远程主机名> <分支名>
# 获取远程仓库所有分支的更新
git fetch --all

5. git branch

# 新建本地分支,但不切换
git branch <branch-name> 
# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 查看本地和远程分支
git branch -a
# 删除本地分支
git branch -D <branch-nane>
# 重新命名分支
git branch -m <old-branch-name> <new-branch-name>

 

git 一些场景

1. git rebasegit merge

可以看到 rebase 后 feature 先是逐个应用了 master 分支的更改,然后以 master 分支最后的提交作为基点,再逐个应用 feature 的每个更改。

* 大部分情况下,rebase 的过程中会产生冲突的,此时,就需要手动解决冲突,然后使用依次 git addgit rebase --continue 的方式来处理冲突,完成 rebase 的过程,如果不想要某次 rebase 的结果,那么需要使用 git rebase --skip 来跳过这次 rebase 操作。

与 git rebase 相比,会产生一条额外的提交记录。merge 只需要解决一次冲突。

2. 用 git cherry-pick 获取指定的 commit

---当只想将某一次的提交合入到本地当前分支时使用

3. git revertgit reset 

git revert ---撤销某次操作,但此操作不会修改原本的提交记录,新增一条提交记录来抵消某次操作

# 针对普通 commit
git revert <commit-id> 
# 针对 merge 的 commit
git revert <commit-id> -m 

另外 git revert 也可以回滚多次的提交

# 注意这是一个前开后闭区间,即不包括 commit1 ,但包括 commit2
git revert [commit-id1] [commit-id2] ... 

git reset 会直接将提交记录退回到指定的 commit 上

对于个人的 feature 分支而言,可以使用 git reset 来回退历史记录,之后使用 git push --force 进行推送到远程

4. git stash 暂存文件

git stash //把本地的改动暂存起来
git stash save "message" 执行存储时,添加备注,方便查找。
git stash pop // 应用最近一次暂存的修改,并删除暂存的记录
git stash apply  // 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即 stash@{0},如果要使用其他个,git stash apply stash@{$num} 。
git stash list // 查看 stash 有哪些存储
git stash clear // 删除所有缓存的 stash

5. git status 查看当前状态

6. 配置 git alias 提升工作效率

git config --global alias.<简化的字符> 原始命令

 

 

原文:我在工作中是如何使用 git 的

 

标签:git,--,rebase,stash,使用,commit,分支
From: https://www.cnblogs.com/Hailey-hwx/p/17435446.html

相关文章

  • Javaweb中在SQL语句中使用未知数进行多表查询
    这个问题主要是匹配好引号和单引号即可。如果是varchar型,那么变量要带单引号('),如果是int型就不用带。同时要注意用+号进行String的拼接。示例:publicList<Student>huizong_bujige(Stringkemu1){List<Student>list=newArrayList<>();Connectionconn......
  • flask得使用
    简单的flask使用fromflaskimportFlask,requestapp=Flask(__name__)#在当前文件下创建应用@app.route("/",methods=['POST'])#装饰器,url,路由defindex():#视图函数data=request.get_json(force=True)print(data)[email protected]......
  • 统计应用的使用时间长短
    以下是一个简单的Java代码,用于统计应用的使用时间长短:importjava.time.Duration;importjava.time.LocalDateTime;importjava.util.Scanner;publicclassAppUsageTracker{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in)......
  • jwt原理开发,drf-jwt快速使用和自定义使用,jwt签发认证源码分析
    一眼弄懂cookieSeesiontoken区别彻底弄懂cookie,session和token区别1jwt原理1.1使用jwt认证和使用session认证的区别1.2三段式eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEf......
  • 迁移git仓库
    需求背景为了将gitlab上仓库代码都聚合到运维发布平台上,需要对gitlab仓库得名字进行规范化,现在想将项目名字activity改成activityback错误示范结果发现正确演示步骤:1从activity仓库下载项目裸代码本地用gitbash执行下面命令gitclone--barehttp://gitlab.xxx.com/xxx/activity......
  • 【一步步开发AI运动小程序】九、姿态辅助调试桌面工具折使用
    随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序......
  • git stash
    原文链接:https://blog.csdn.net/qq_35458793/article/details/84874161gitstash(git储藏)用于以下场景:1.发现一个类是多余的,想删掉它担心之后会用到它,想保存但又不想增加一个脏的提交,这时候可以考虑使用gitstash;2.使用git的时候,我们往往使用分支(branch)解决任务切换问题,例......
  • git团队协作_network
    Git教程:https://www.runoob.com/git/git-tutorial.htmlGit大全:Git大全-Gitee.comGit分支管理一种适合小团队的Git协作流程-知乎(zhihu.com)[GitHub的Fork是什么意思?-知乎(zhihu.com)](https://www.zhihu.com/question/20431718/answer/74250205?utm_campaign=s......
  • SourceTree使用教程
    SourceTree使用教程1.克隆、提交、推送​ 在使用SourceTree之前必须要先安装Git和sourceTree,具体安装过程不再赘述(1)以加入我的管理团队为例,进入5-27-dq这个仓库,点击管理,然后进入仓库成员管理,发现现在我的仓库成员有4个了,gitee免费版最多可5个成员。​ 若要加入我的代码仓,请......
  • vue-cli 的配置和使用
    vue-cli介绍vue-cli是Vue.js开发的标准工具。它简化了程序员基于webpack创建工程化的Vue项目的过程。中文官网在工程化的项目中,vue要做的事情很单纯:通过main.js把App.vue渲染到index.html的指定区域中。配置和使用Vue-CLI的安装、使用及环境配置(超详细)vue项......