git学习笔记

git学习(工作)笔记

版权声明:本文为lweet_han的原创文章,可以转载,但请务必注明作者和出处

本文参考Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!并在自己的工作经验上总结了一些常用的命令,适合有些许基础的人看

1.官方介绍

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

Git是一个免费的开源分布式版本控制系统,可以快速高效地处理从小项目到非常大的项目。
Git易于学习,占用空间小,性能快如闪电。它超越了像Subversion、CVS、Perforce和ClearCase这样的配置管理工具,具有像廉价的本地分支、方便的登台区域和多个工作流这样的特性。

2.git安装配置与配置

2.1Linux环境下安装(Windows下直接运行exe文件即可)

Debian/Ubuntu
Debian/Ubuntu Git 安装命令为:

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev

$ apt-get install git

$ git --version
git version 1.8.1.2
2.2配置个人信息
$ git config --global user.name "你的姓名"
$ git config --global user.email 你的邮箱

3.git工作流程

在这里插入图片描述
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

4.git常见命令

4.1 git add
git add .		//默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,不包括删除
git add -u .	//将文件中的修改和删除的文件添加到暂存区,不包括新增加的文件
git add -A .	//将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
4.2 git commit
git commit -m '提交信息'
git commit -a -m 	//-a 参数就是可以把还没有执行add命令的修改一起提交。
4.2.1 详解git commit --amend

使用场景:
比方说,你的代码已经提交到git库,但是,此时你发现你的代码有问题,此时,有两种方法可以解决:

  1. 把你push的代码abandon掉,在本地中git reset回退到代码提交之前的版本,修改好代码后重新add、commit、push等一系列命令提交
  2. 不abandon代码,修改出问题的Java文件,修改好之后,git add .后使用git commit --amend提交。

当我们想要对上一次的提交进行修改时,我们可以使用git commit –amend命令。git commit –amend既可以对上次提交的内容进行修改,也可以修改提交说明。

注意事项:

  1. 在使用该命令之前必须保证最新的提交为自己的、当前要修改的那一笔提交(可使用git log命令查看),不然会产生提交冲突。当多人对同一个代码库,或自己在此处的代码提交到多个分支时容易产生这种问题。
  2. 若使用git log查看到最新的提交不是自己想要修改的。可使用reset命令,回退到当前修改的版本然后使用该命令进行修改提交。(reset命令具体用法看下文)
4.3 git push
git push origin master	//如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
git push origin :refs/for/master 	//如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master
git push origin	//如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
git push	//如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
// refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要
4.4 git checkout

此命令为创建分支或切换分支

git branch	//查看当前分支
git branch -a	//查看当前分支并显示主机所有分支
git checkout "分支名"	//切换到当前分支
4.5 git reset
git reset --hard commitId/HEAD	//重置stage区和工作目录
git reset --soft commitId/HEAD	//保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区
git reset 	//不加参数(mixed):保留工作目录,并清空暂存区
4.6 其他常用命令
git status	//查看工作区的状态
git diff	//查看所修改代码的差异
git log		//查看历史提交

5.git使用一般流程

git branch -a	//查看当前分支是否偏离,如果偏离切换分支
git pull	//更新当前代码库,避免多人操作时,本地代码库未更新,push时会冲突
//pull之后修改代码
git status	//修改代码后要查看状态,有时会出现临时文件
git add .
git commit
git push ....

本文参考Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!并在自己的工作经验上总结了一些常用的命令,适合有些许基础的人看

版权声明:本文为lweet_han的原创文章,可以转载,但请务必注明作者和出处

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值