git使用

版本控制

版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。

实现跨区域多人协同开发。

追踪和记载一个或者多个文件的历史记录

组织和保护你的源代码和文档。

统计工作量。

并行开发、提高开发效率。

跟踪记录整个软件的开发过程。

减轻开发人员的负担,节省时间,同时降低人为错误。

简单说就是用于管理多人协同开发项目的技术。

没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。

无论是工作还是学习,或者是自己做笔记,都经历过这样一个阶段!我们就迫切需要一个版本控制工具!

常见版本控制工具

Git

SVN(Subversion)

CVS(Concurrent Versions System)

VSS(Micorosoft Visual SourceSafe)

TFS(Team Foundation Server)

主要区别是本地和分布式的区别。

git结构

git文件的状态

Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂(staged)。

git项目的工作区域

Git 项目的三个工作区域:Git 仓库、工作目录,暂存区域。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rVwJ8UJA-1646182418847)(image-20220225135056325.png)]

Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。这是 Git 中最重要的部分,从其它计算机克隆

仓库时,拷贝的就是这里的数据。

工作目录是对项目的某个版本独立提取出来的内容。这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘

上供你使用或修改。

暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。有时候也被称作`‘索

引’’,不过一般说法还是叫暂存区域。

git的基本流程

  1. 在工作目录中修改文件。

  2. 暂存文件,将文件的快照放入暂存区域。

  3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

git分支

Git 的分支,其实本质上仅仅是指向提交对象的可变指针。Git 的默认分支名字是 master。

git使用

安装git

在Linux上安装Git

首先,你可以试着输入git,看看系统有没有安装Git:

$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。

如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。

老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core,因为以前有个软件也叫GIT(GNU Interactive Tools),结果Git就只能叫git-core了。由于Git名气实在太大,后来就把GNU Interactive Tools改成gnuitgit-core正式改为git

如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./configmakesudo make install这几个命令安装就好了。

在Mac OS X上安装Git

如果你正在使用Mac做开发,有两种安装Git的方法。

一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/。

第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iY5aQQdU-1646182418848)(0.jpeg)]

Xcode是Apple官方IDE,功能非常强大,是开发Mac和iOS App的必选装备,而且是免费的!

在Windows上安装Git

在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IGpygNmh-1646182418848)(0-1645758962062106.jpeg)]

配置

查看配置

配置级别
//仓库级的 config,命令:
git config –-local
//全局级的 config,命令:
git config –-global
//系统级的 config,命令:
git config –-system

–local 仓库的目录下的 .git/config
–global 系统盘当前用户下的 .gitconfig 我的是C:\Users\my.gitconfig
–system git安装目录下的mingw64/etc/gitconfig

参数
	查看配置	命令参数 -list,简写 -l
		//查看仓库级的 config,命令:
			git config –-local -l
		//查看全局级的 config,命令:
			git config –-global -l
		//查看系统级的 config,命令:
			git config –-system -l
		//查看当前生效的配置,  命令:
			git config -l
			
	编辑配置	命令参数 -edit,简写 -e	
		//查看仓库级的config,命令:
			git config –local -e	
		//查看全局级的config,命令:
			git config –global -e
		//查看系统级的config,命令:
			git config –system -e
		//与–list参数不同的是,config默认是编辑仓库级的配置文件。
			git config -e
			
	增加配置	参数 -add	
格式:git config [–local|–global|–system] --add section.key value 
		(默认是添加在 local 配置中),add后面的 section.key,value 一项都不能少,否则添加失败。

	删除配置	参数 -unset
格式:git config [–local|–global|–system] --unset user.my
		(默认应该也是local配置中,)

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

项目使用

本地项目命令行操作

建议看最后的idea插件操作

本地项目操作

1.一般是在空文件夹(或者新建),有内容的文件夹也可以。
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit


2.初始化为git仓库,并没有跟踪文件夹里面的文件
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/


3.创建readme.md
touch readme.md


4.跟踪,提交。	 Git 只是暂存了你运行 git add 命令时的版本,所以每次修改之后要重新跟踪。
$ git add *.c
$ git commit -m 'initial project version'

#补充		不建议使用。
$ git commit -a -m 'added a new footer [issue 53]'
跳过$ git add *.c这个阶段。


5.克隆项目	后面的mylibgit是别名
$ git clone https://github.com/libgit2/libgit2 mylibgit


6.查看状态 -short 或者 -s 简略输出
$ git status
On branch master
nothing to commit, working directory clean


7.配置上传规则 .gitignore文件
忽略规则
所有空行或者以 # 开头的行都会被 Git 忽略。 
可以使用标准的 glob 模式匹配。 
匹配模式可以以(/)开头防止递归。 
匹配模式可以以(/)结尾指定目录。 
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反

星号(*)匹配零个或多个任意字符;
[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
问号(?)只匹配一个任意字符;
如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9] 表示匹配所有 0 到 9 的数字)。使用两个星号(*) 表示匹配任意中间目录,比如`a/**/z` 可以匹配 a/z,a/b/z 或 `a/b/c/z`等。


8.查看项目的具体改变
$ git diff
	参数	 --cached 查看已暂存的将要添加到下次提交里的内容
	
	
9.移除文件跟踪和提交,删除文件
$ git rm PROJECTS.md
$ rm PROJECTS.md


10.移动文件
$ git mv file_from file_to	


11.查看历史
$ git log
	
	
12.撤销操作	最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend


13.移除本次跟踪的(暂存)文件
$ git reset HEAD CONTRIBUTING.md


14.撤销修改
$ git checkout -- CONTRIBUTING.md

远程仓库基本操作

1.查看远程分支
$ git remote
详细信息
$ git remote show [remote-name]


2.添加远程分支
$ git remote add <shortname> <url>


3.抓取	这个命令会访问远程仓库,从中拉取所有你还没有的数据。执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。它并不会自动合并或修改你当前的工作。当准备好时你必须手动将其合并入你的工作。
$ git fetch [remote-name]


4.拉取	自动的抓取然后合并远程分支到当前分支。
$ git pull origin master


5.推送	只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。
$ git push origin master


6.重命名和删除
$ git remote rename pb paul
$ git remote rm paul


7.标签,
$ git tag	#查看
$ git tag -a v1.4 -m 'my version 1.4'	#打标签v1.4
$ git show v1.4		#详细信息


分支操作基本命令

1.创建分支	这会在当前所在的提交对象上创建一个指针。
$ git branch testing


2.切换分支
$ git checkout testing


3.创建并切换分支
$ git checkout -b iss53
	#相当与
		$ git branch iss53
		$ git checkout iss53
		
		
4.合并分支		合并分支和合并代码是不一样的		 master 被快进(合并)到 hotfix
$ git checkout master


5.master 和 hotfix	现在指向同一位置	可以删除hotfix分支
$ git branch -d hotfix

注意1,不管是合并还是切换,要保持暂存区是干净的

git提交规范

第一步:

提交代码第一步:git status 查看当前状态

当你忘记修改了哪些文件的时候可以使用 git status 来查看当前状态,红色的字体显示的就是你修改的文件。

第二步:

提交代码第二步:git add . 或者 git add xxx

如果你git status 查看了当前状态发现都是你修改过的文件,都要提交,那么你可以直接使用 git add . 就可以把你的内容全部添加到本地git缓存区中

如果你git status 查看了当前状态发现有部分文件你不想提交,那么就使用git add xxx(上图中的红色文字的文件链接) 就可以提交部分文件到本地git缓存区。

第三步:

提交代码第三步:git commit -m “提交代码” 推送修改到本地git库中

第四步:

提交代码第四步:git pull <远程主机名> <远程分支名> 取回远程主机某个分支的更新,再与本地的指定分支合并,避免发生冲突。

第五步:

提交代码第五步:git push <远程主机名> <远程分支名> 把当前提交到git本地仓库的代码推送到远程主机的某个远程分之上

gitee仓库

创建你的第一个仓库 - Gitee.com

本地项目搭建

通常是在idea操作.需要git或者gitee的插件

快速创建
创建完项目,share to gitee。git会直接创建一个空仓库.

标准创建
1.创建git仓库(master-dev分支)
2.搭建项目结构
3.配置git版本控制
vcs–>create git respository
vcs–>manager remotes(创建版本控制,点加号,地址就是git的https地址)
vcs–>pull(若提示没有分支,先看看远程仓库有没有分支,有的话就是没有刷新,ctrl+F5
vcs–>commit
vcs–>push

强制更新代码并覆盖本地

本地开发错误,或者不想要的时候,可执行以下步骤,强制拉取远程仓库没有修改的文件覆盖本地更改的文件:
git fetch --all

git reset --hard origin/master

git pull

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值