Git 的基本操作、开发流程、实用技巧总结

1.如何保存账号密码,不用每次都需要输入账号密码

git config --global user.name "zutterzhang"
git config --global user.password "ZXRzxr119"

不行的话再

vim .git/config
//在末尾添加
[credential] 
 helper = store

2.git常用命令

2.1 查看本地的代码状态

git status 查看文件状态

  • 可以明确的呈现出本地仓库的状态
  • 哪些文件发生改动,哪些文件已经提交到本机
  • 以及一些操作指示。

2.2 同步远端分支变化

  • 拉取指定分支的变化
    git fetch origin master
  • 拉取所有分支的变化
    git fetch
  • 拉取所有分支的变化,并且将远端不存在的分支同步移除【推荐】
    git fetch -p

2.3 同步远端代码变化

  • 都是先 git fetch,然后执行合并操作
  • 不同的是,git pull 执行的是 git merge,git pull -r 执行的是git rebase
    git pull origin master
    git pull -r origin master

2.4 新增commit

  • 添加文件到缓存区,然后提交到本地仓库
    git add files
    git commit -m ‘提交备注’

2.5 撤销 commit

  • 会将提交记录回滚,代码不回滚
    git reset b14bb52
  • 会将提交记录和代码全部回滚
    git reset --hard b14bb52
  • 将部分代码文件回滚
    git checkout – files

2.6 合并commit

合并 commit,本质上合并两份不同状态下的代码。

  • Git 提供了两种合并 commit 的方式
    git merge master
    git rebase master

那么 git rebase 和 git merge 到底有什么区别呢?
merge是两个分支处理冲突后,新增一个 commit 追加到master上。
rebase是将someFeature分支上的commit记录追加到主分支上,值得注意的是,这个时候他的commit其实已经发生变化

3.git 操作分支

所谓的分支其实就是一个指向 commitID 的指针,你可以去.git/refs/heads里去看看。

3.1 查看分支

git branch -a

  • 可以同时看到本地分支和远端分支,配合上前文介绍的 git fetch -p 可以第一时间查看到最新的分支信息。

3.2 新增本地分支

其实就是创建一个指针指向某一个 commitID。
// git branch qixiu/feature + git checkout zutter/feature
// 从当前分支新增一个新的分支zutter/feature
// 一般情况下,我们应该从master或者其他稳定分支来新增分支

  • git checkout -b zutter/feature // 新建分支
  • git checkout zutter/feature // 切换分支

3.3 删除本地分支

其实就是移除一个指向 commitID 的指针。
// 删除本地分支,如果本地还有未合并的代码,则不能删除

  • git branch -d zutter/feature
    // 强制删除本地分支
  • git branch -D zutter/feature

3.4 新增远端分支

通常情况下,我们是新建本地分支,然后更新到远端的方式来新增一个远端分支

  • git push origin zutter/feature

3.5 删除远端分支

同样,我们也是通过更新到远端的方式来删除一个远端分支
// 等同于git push origin -d zutter/feaure

  • git push origin :zutter/feature

4. git 常见的一些操作

git add 某个文件,或者目录下的所有文件 git add .
git commit -m “注释”
git branch net 创建net分支
git checkout net 切换到net分支
git merge net 我们在net分支提交代码之后,切换到master分支,并且执行Git merge net命令,如果没有冲突,那么master分支将会和net分支合并。
发生冲突就解决冲突代码,然后git add和commit提交代码即可。
git tag -a v1.0 -m “这里写相关信息” 为一个版本打标签
git tag -d 标签名 删除tag
git show 标签名
git pull
git push

git status // 查看本地代码状态
git add files // 添加代码到缓存区
git commit -m '提交内容的备注' // 提交代码到本地仓库
git checkout -b branchName // 不加-b就是普通切换分支
git fetch -p // 同步远端分支状态
git pull -r origin branchName // fetch远端代码到本地,并且以rebase的方式合并代码
git push origin branchName // 更新本地代码到远端

5. 开发流程

从 master 切出一个新分支

  • git checkout -b zutter/newFeature

5.1 开发一些新功能,然后提交

建议较多频次的提交代码到本地仓库,以便能够更灵活的保存或撤销修改。
此外为了保证提交日志的清晰,建议备注清楚的注释。

git status
git add files // 挑选需要提交的文件,或者全部提交
git commit -m '提交备注'
git push origin zutter/newFeature

5.2 如果代码测试通过,合并到master

// 冗余版 合并到 master
git checkout master 
git pull -r origin master
git checkout qixiu/newFeature
git rebase master // 处理冲突
git checkout master
git merge qixiu/newFeature
git push origin master

// 精简版 合并到 master
git checkout qixiu/newFeature
git pull -r origin master // 将master的代码更新下来,并且rebase处理冲突
git push origin master // 将本地代码更新到远端

git rebase,合并代码
前文简单介绍了 git rebase 和 git merge 的区别,坦率讲,他们各有优劣。
git rebase 能让你的 commit 记录非常整洁,无论是线上回滚还是 CodeReview 都更轻松;但却是一个有隐患的操作,使用时务必谨慎。
git merge 操作更安全,同时也更简单;但却会增加一些冗余的 commit 记录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git多人协作开发流程如下: 1. 创建一个Git裸服务器:由项目负责人在服务器上创建一个裸仓库(git init --bare),作为项目的中央代码仓库。 2. 开发人员克隆仓库:每个开发人员将中央代码仓库克隆到本地(git clone),这样他们就可以在自己的本地进行开发工作。 3. 开发工作:开发人员在本地进行常规的开发工作,包括修改代码、添加新功能等。 4. 提交代码:开发人员将他们的修改提交到本地仓库(git commit),这样他们的修改就被记录下来了。 5. 推送到服务器:开发人员将他们的修改推送到中央代码仓库(git push origin master),这样其他开发人员就可以看到他们的修改。 6. 拉取最新代码:开发人员在开始工作之前,应该先拉取最新的代码(git pull),以确保他们的本地代码是最新的。 7. 分支管理:团队可以使用分支来进行并行开发和功能隔离。例如,项目负责人可以创建一个发布分支(Release)用于上线前的测试,如果测试出现bug,则再创建一个修复bug的分支,然后将修复后的代码合并回发布分支和开发分支。测试完成后,发布分支和bug分支可以被删除。\[3\] 总结起来,Git多人协作开发流程包括创建中央代码仓库、克隆仓库到本地、开发工作、提交代码、推送到服务器、拉取最新代码和分支管理。这样团队成员可以在一个统一的代码仓库中进行协作开发,并且能够方便地管理和追踪代码的修改。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [git多人协作开发流程](https://blog.csdn.net/weixin_43501172/article/details/115549918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Git 之 多人协同开发工作流](https://blog.csdn.net/Tianxing10/article/details/123600990)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值