赞
踩
你好,我是萝卜,实习或者刚入职的时候公司代码协作需要使用到Git,而我还没有接触过怎么办?本文带你快速入门Git操作,助你快速掌握Git的使用
Workspace:工作区——>本地写代码的地方
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
git branch
git branch -a
流程:本地创建分支 —— 推送新分支到远程
git branch 分支名
git branch
git branch -a
git push --set-upstream origin 分支名
git checkout master //master:主分支
git pull
- git checkout -b 新分支名称
- //例:git checkout -b feature/lsz
- git push origin 新分支名称
- //例:git push origin feature/lsz
- git branch --set-upstream-to=origin/新分支名称
- //例:git branch --set-upstream-to=origin/feature/lsz
git checkout 分支名
git branch -d 分支名
git push origin -d 分支名
- git config --global --replace-all user.name "修改后的用户名"
- git config --global --replace-all user.email"修改后的邮箱"
- git config --global --replace-all user.password "修改后的密码"
-
- 查看修改完后的用户名:
- git config user.name
-
- 查看修改完后的邮箱:
- git config user.email
-
- 查看修改完后的密码:
- git config user.password
- git merge XXX(分支名)
- //例:git merge origin/master //指的就是将远端 master分支与本地的当前分支进行合并
git init
git remote add origin 远程仓库URL
git pull origin 分支名称
git checkout -b 分支名称
git add .
- git commit-m "Initial commit"
- //例:git commit-m "用户登录功能"
git push origin 分支名称
- git add .
- git commit -m "xxx"
- git push (如果没有与远端建立连接则需要git push origin 当前分支名)
git checkout develop
git pull
- git merge xxx
- //例:git merge feature/lsz
合并冲突原则
谁冲突谁处理
不要删掉别人的代码
不要把别人开发中的代码合并到自己的分支
- git add .
- git commit -m "xxx"
- git push (如果没有与远端建立连接则需要git push origin 当前分支名)
不从develop分支上直接推送到master上
从自己的分支上发起合并请求,合并到远程master分支
git log如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值(commit id),作者、提交日期、和提交说明。如果记录过多,则按Page Up、Page Down、↓、↑来控制显示;按Q退出历史记录列表
- git log
- //结果:
- /*
- commit 44fb27f9532778cbb1e14867696d6cd67c2d4005 (HEAD -> develop, origin/develop)
- Merge:276f1cc 167a77b
- Author: user
- Date: Mon Dec 1213:53:002022 +0800
-
- Merge branch 'feature/lsz' into develop
- (以下省略更多记录)
- */
方法:reset复位、revert恢复
不是很推荐,通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了
git reset --hard (commit id)
使用git log查找到所需要回退到的版本号,即提交记录的commit id;例如下图中黄色字段
执行前,先将本地代码切换到对应分支
如果你现在feature/xxx分支上,需要回退develop分支上的版本,则需要先切换到develop分支上
执行命令
- git reset --hard (commit id)
- 例如:
- git reset --hard576223db1ee100a79b4f82d6713cef700d723018
(如果远程分支也需要回退到当前版本)强制push到对应的远程分支git push -f -u origin master或者git push -f,此时如果用git push会报错,因为我们本地库HEAD指向的版本比远程库的要旧
这种方式比较推荐,这种方式不会把版本往前回退,而是生成一个新的版本。
所以,你只需要让别人更新一下代码就可以了,你之前操作的提交记录也会被保留下来。
git revert -n (commit id)
使用git log查找到所需要回退到的版本号,即提交记录的commit id
在客户端执行如下命令
git revert -n (commit id)
(如果远端分支也需要进行回退)执行以下指令,提交代码
git commit-m '版本回退'
(如果远端分支也需要进行回退)同步推送到远程仓库
git push
回退完之后发现不需要回退了,刚才那些消失的代码又要重新恢复,和回退版本同理
通过git reflog查看本地的操作历史,找到对应的commit id
再使用git reset --hard commit id就回到之前的操作了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。