git使用

iamjiyu 2020-07-21

git软件

  • 下载安装git软件
  • 安装成功后,任意路径位置,鼠标右键出现Git-Gui和Git-Bash图标,即安装成功。
  • 在任意路径(文件夹下)进入Git-bash环境,开始git之旅吧。

git版本控制使用流程

  • 进入要管理的文件夹

  • 执行初始化命令

    git init
  • 管理目录下的文件状态

    git status
    # 新增的文件和修改过后的文件都是红色的
  • 管理制定文件(红变绿)

    git add 文件名
    git add .
    # . 表示管理所有文件
  • 个人信息配置:用户名和邮箱【第一次使用需要】

    # 全局配置
    git config --global user.mail ""
    git config --global user.name "yourname"
    # 局部配置:当前项目
    git config user.mail ""
    git config user.name "yourname"
  • 生成版本

    git commit -m ‘描述信息‘
  • 产看版本记录

    git log

忽略文件

-空文件夹不被管理
-指定某些文件或者文件夹不被git管理
-在项目根路径,跟.git文件夹一个路径,新建.gitignore.,在里面配置
- 语法:
	# 号是注释,没有用
    文件夹名字,表示文件夹忽略,不被管理
    /dist 表示根路径下的dist文件夹,不被管理
    *.py   表示后缀名为py的文件,都被忽略
    *.log*

git三大区域

工作区:编写代码的地方
	- 已经管理的文件(空白)
	- 新文件/修改为文件(红色)
暂存区:暂时管理起来的将要推送到版本库		# 通过add将工作区红色的文件推送到暂存区
版本库:存放版本的地方		# 通过commit命令将版本推动到版本库

git回滚

# 回滚到之前的版本
git log
git reset --hard 版本号(形式1)
# 回滚到之后的版本
git reflog
git reset --hard 版本号(形式2)

三区域切换

git使用

分支和工作流

git使用

  • 查看分支
git branch
  • 创建分支
git branch 分支名称
  • 切换分支
git checkout 分支名称
  • 合并分支
git merge 要合并的分支
# 注意:切换分支再合并;站在当前分支上,把其他分支合并过来
  • 删除分支
git branch -d 分支名称
  • 工作流

git使用

实战中至少保留两个版本,一个是上线环境下的稳定版,一个是开发环境下的开发版。


托管代码Github

  • 使用github:官网注册账号

  • 新建远程仓库

git使用

  • 在家里上传代码(第一次推送时可能需要提供github账号)
1. 给远程仓库起别名 origin
	git remote add origin 远程仓库地址
2. 向远程仓库推送代码
	git push -u origin 分支
  • 到公司新电脑上第一次获取代码
1. 克隆远程仓库代码
	git clone 远程仓库地址(内部已实现git remote add origin 远程仓库地址)
2. 切换分支	(clone会拷贝所有的分支)
	git checkout 分支
  • 在公司进行开发
1. 切换到dev分支进行开发
	git checkout dev
2. 把master分支合并到dev [仅一次]
	git merge master
3. 修改代码
4. 提交代码
	git add .
    git commit -m ‘...‘
    git push origin dev
  • 回家继续写代码
1. 切换到dev分支进行开发
	git checkout dev
2. 拉代码
	git pull origin dev
3. 继续开发
4. 提交代码
	git add .
    git commit -m ‘,,,‘
    git push origin dev
  • 在公司继续开发
1. 切换到dev分支进行开发
	git checkout dev
2. 拉代码
	git pull origin dev
3. 修改代码
4. 提交代码
	git add .
    git commit -m ‘..‘
    git push origin dev
  • 开发完毕,要上线
1. 将dev分支合并到master,进行上线
	git checkout master
    git merge dev
    git push origin master
2. 把dev分支也推送到远程
	git checkout dev
    git merge master
    git push origin dev

忘记推送代码到github云端

如果在A电脑上开发的新功能忘记推送到github云端,此时在B电脑上是不发pull到新功能的代码。

这种情况下不可能在B电脑上重新开写已经开发完成的那部分代码,可以接着编写一些其他的代码后推送到github

然后回到A电脑上,pull新的代码。合并时可能出现冲突,此时手动处理冲突即可。

GitHub Desktop

  • 图形界面的git命令操作软件,
  • 告别单调的git命令行界面,鼠标点点点即可完成所有的git命令。
  • 完美无缝对接Github.

rebase(变基)使git的提交记录变的简洁

rebase应用场景1

将多条提交记录整合成一条记录。合并记录时建议不要合并那些已push到远程仓库的记录。避免造成版本不一致的混乱。

rebase应用场景2

将分支上的版本插到master主线上,形成一条线的结构,而不是merge形成的分支的结构

rebase应用场景3

代码忘记推云段端时的

注意事项

git rebase 冲突

解决冲突

git rebase -- continue

相关推荐