跳至主要內容

Git介绍


Git介绍

Git 是一个分布式版本控制系统,它可以有效地管理软件开发过程中的代码版本控制和协作管理。Git 最初由 Linux 之父 Linus Torvalds 开发,并于 2005 年首次发布。自此以后,Git 已经成为了世界上最流行的版本控制系统之一。

Git 的主要特点如下:

  1. 分布式:Git 是一种分布式版本控制系统,每个开发人员都可以在本地保存完整的版本库。这意味着即使与中央服务器失去联系,每个人都可以继续工作。
  2. 非线性管理:Git 使用分支来管理版本,每个分支可以独立开发和提交代码。这使得多人协作开发更加灵活,同时也能更好地管理和控制代码的质量。
  3. 快速高效:Git 是一种快速高效的版本控制系统,它能够在短时间内处理大量的数据。这使得开发人员可以更快地进行版本控制和协作开发。
  4. 安全可靠:Git 采用哈希算法来管理代码版本,每个版本都有唯一的哈希值,可以确保代码的完整性和安全性。同时,Git 也提供了多种安全机制,如 SSH、GPG 签名等,保障开发人员的代码安全。
  5. 支持多种开发工具和平台:Git 能够与多种开发工具和平台进行集成,如 Eclipse、IntelliJ IDEA、Visual Studio 等,可以方便地进行版本控制和协作开发。
  6. 丰富的命令行工具和图形界面工具:Git 提供了丰富的命令行工具和图形界面工具,使得开发人员可以根据自己的需求选择适合自己的方式进行版本控制和协作开发。

Git官网:https://git-scm.com/open in new window

Git操作流程

代码提交和同步

git代码提交和同步 本地远程仓库相当于是远程仓库在本地的镜像,每次pull/fetch都会与远程仓库保持同步。

代码撤销和同步

git代码撤销和同步

Git命令

创建版本库

git clone <url>     #克隆远程版本库
git init            #初始化本地版本库

创建新分支

git checkout --orphan new-branche

修改提交拉取推送

提交修改

#修改和提交
git status		    #查看状态
git diff		    #查看变更的内容
git add --all               # 当前项目下的所有更新
git add .		    #跟踪当前目录下的所有更改
git add <file1> <file2>	    #跟踪指定的文件
git mv <old> <new>	    #文件改名
git rm <file>		    #删除文件
git rm --cached <file>	    #停止跟踪文件但不删除
git commit -m "commit message"	#提交所有更新过的文件
git commit --amend          #修改最后一次提交

#查看提交历史
git log				#查看提交历史
git log -p <file>		#查看指定文件的提交历史
git blame <file>		#以列表方式查看指定文件的提交历史

#撤销
git reset --hard HEAD	#撤销工作目录中所有未提交文件的修改内容
git checkout HEAD <file>	#撤销指定的未提交文件的修改内容
git revert <commit>	#撤销指定的提交

拉取推送

#远程操作
git remote -v			#查看远程版本库信息
git remote show <remote>	#查看指定远程版本库信息
git remote add <remote> <url>	#添加远程版本库
git fetch <remote>	        #从远程库获取代码
git pull <remote> <branch>	#下载代码及快速合并
git push -u origin master       # 第一次需要关联
git push <remote> <branch>	#上传代码及快速合并
git push <remote> :<branch/tag-name>	删除远程分支或标签
git push --tags			#上传所有标签

分支合并

#分支与标签
git branch			#显示所有本地分支
git checkout <branch/tag>	#切换到指定分支或标签
git branch <new-branch>	#创建新分支
git branch -d <branch>	#删除本地分支
git tag				#列出所有本地标签
git tag <tagname>		#删除标签
#合并与衍合
git merge <branch>	#合并指定分支到当前分支
git rebase <branch>	#衍合指定分支到当前分支

撤销同步

git diff # 列出所有的修改
git diff xx/xx.py xx/xx2.py # 列出某(几)个文件的修改

git checkout # 撤销项目下所有的修改
git checkout . # 撤销当前文件夹下所有的修改
git checkout xx/xx.py xx/xx2.py # 撤销某几个文件的修改
git clean -f # untracked状态,撤销新增的文件
git clean -df # untracked状态,撤销新增的文件和文件夹

上次编辑于:
贡献者: Neil