Git 常用操作命令记录

安装Git

官网安装指导地址

MAC下使用HomeBrew安装

如果没有HomeBrew,在终端输入以下命令尝试安装:

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

利用brew安装版本的Git

$ brew install git

Git 相关命令

命令相关操作解释
init$ git init创建本地版本库
config$ git config --global user.name “yourName”配置name信息
$ git config --global user.email “yourEmail”配置邮箱信息
add$ git add fileName添加文件到staged状态
$ git add .添加所有文件到staged状态
status$ git status查看库文件当前状态
commitgit commit -m “填写相关描述信息”将处于stage状态的文件提交到本地库中
$ git commit -am “填写相关描述信息”合并add操作,一步到位
$ git commit --amend --no-edit追加已经commit的操作, 此时会删除最后一条记录并产生新的一条记录 (commit id 不同),注意要先将改动的文件add到staged状态
log$ git log查看库的操作日志
$ git log --oneline查看库的操作关键信息,每个 commit 内容显示在一行
$ git log --oneline --graph查看库的操作关键信息,包括分支信息
diff$ git diff查看unstaged状态的文件
$ git diff --cached查看 staged状态的文件(add过的文件)
$ git diff HEAD查看 staged & unstaged (HEAD)
reset$ git reset fileName回到add之前状态(unstaged)
$ git reset --hard HEAD查看上次 commit 的HEAD指针指向的id
$ git reset --hard commitId回到 commit 之前(回滚): hard 会清除 7cd4e4e 之后的所有操作提交
$ git reset --soft commitId回到 commit 之前(回滚): soft 会保留 7cd4e4e 之后的所有操作
reflog$ git reflog查看所有 HEAD 的改动,配合 reset --hard 的可恢复之前的删除操作
checkout$ git checkout dev1.0切换分支/tag
$ git checkout -b dev1.0创建并切换本地分支
$ git checkout -b dev1.1 origin/dev1.1将远程分支添加到本地
$ git checkout commitId – fileName让文件回滚到某一次 commit
branch$ git branch查看当前分支
$ git branch -a查看全部分支
$ git branch dev1.0创建分支
merge$ git merge dev1.0合并分支
$ git branch -d dev1.1删除本地分支
$ git merge --no-ff -m “相关描述信息” dev1.0合并分支,保留分支上commit信息
stash$ git stash暂存修改
$ git stash list查看 stash 中的暂存任务
$ git stash pop继续暂存任务
fetch$ git fetch origin dev1.0拉取远程版本库到本地版本库(需要再次merge)
pull$ git pull origin dev1.0拉取远程版本库到本地版本库,并将其merge到本地项目中
push$ git push -u origin dev1.0推送本地版本库到远程版本库
$ git push origin :branch-name删除远程分支或tag
$ git push origin branch-name1:branch-name2替换远程分支
remote$ git remote add origin remoteAddress添加并链接到远程库
$ git remote rm origin删除远程库
tag$ git tag查看标签
$ git tag v1.0.0 -light创建轻量标签
$ git tag -a v1.0.0 -m “release 0.1.0 version”-a即annotated的缩写,指定标签类型,后附标签名
$ git push origin v1.0.0发布标签,提交到git服务器
$ git push origin –tags将本地所有标签一次性提交到git服务器
$ git tag -d v1.0.0删除标签
$ git checkout tagname切换标签
$ git tag -a v1.0.0 commitId补打标签

init

进入相关文件夹创建本地版本库

$ git init

config

配置相关信息

$ git config --global user.name "yourName
$ git config --global user.email "yourEmail"

add

添加文件到staged状态

$ git add <file>

添加所有文件到staged状态

$ git add .

status

查看库文件当前状态

$ git status

commit

将处于stage状态的文件提交到本地库中

$ git commit -m "填写相关描述信息"

合并add操作,一步到位

$ git commit -am "填写相关描述信息"

追加已经commit的操作, 此时会删除最后一条记录并产生新的一条记录 (commit id 不同),注意要先将改动的文件add到staged状态

$ git commit --amend --no-edit      

log

查看库的操作日志

$ git log

查看库的操作关键信息,每个 commit 内容显示在一行

$ git log --oneline

查看库的操作关键信息,包括分支信息

$ git log --oneline --graph

diff

查看unstaged状态的文件

$ git diff

查看 staged状态的文件(add过的文件)

$ git diff --cached

查看 staged & unstaged (HEAD)

$ git diff HEAD 

reset

回到add之前状态(unstaged)

$ git reset <file>

查看上次 commit 的HEAD指针指向的id

$ git reset --hard HEAD 

回到 commit 之前(回滚): hard 会清除 7cd4e4e 之后的所有操作提交

$ git reset --hard <commit id>

回到 commit 之前(回滚): soft 会保留 7cd4e4e 之后的所有操作

$ git reset --soft <commit id>

reflog

查看所有 HEAD 的改动,配合 reset --hard 的可恢复之前的删除操作

$ git reflog

checkout

让文件回滚到某一次 commit

$ git checkout <commit id> -- <file>

切换分支

$ git checkout dev1.0

创建并切换分支

$ git checkout -b dev1.0

branch

查看当前分支

$ git branch 

$ git branch -a #查看全部分支

创建分支

$ git branch dev1.0

merge

合并分支

$ git merge dev1.0

合并分支,保留分支上commit信息

$ git merge --no-ff -m "相关描述信息" dev1.0 

stash

暂存修改

$ git stash

查看 stash 中的暂存任务

$ git stash list 

继续暂存任务

$ git stash pop

fetch

拉取远程版本库到本地版本库(需要再次merge)

$ git fetch origin dev1.0

pull

拉取远程版本库到本地版本库,并将其merge到本地项目中

$ git pull origin dev1.0

push

推送本地版本库到远程版本库

$ git push -u origin dev1.0

常见问题

解决merge冲突

<<<<<<< HEAD
# edited in master
=======
# edited in dev
>>>>>>> dev

删除"<<<<","====",">>>>"中问题code,重新提交

$ git commit -am "解决xxx冲突"

链接本地版本库,并将分支 push 推送到Git上

$ git remote add origin git@github.com:LOLITA0164/PhotoBrowser.git
$ git push -u origin master     # 推送本地 master 去 origin
$ git push -u origin dev        # 推送本地 dev  去 origin

注意事项:

创建一个未初始化的远程库

正确姿势出现如下图样式

正确样式

出现fatal: remote origin already exists.错误

如果链接本地版本库出现上面错误,尝试删除重试

$ git remote rm origin

pull时候出现fatal: refusing to merge unrelated histories

因为网上和本地的是不同的两个仓库,(网上的已经初始化过了,这种情况通常是clone下来再开发)如果需要合并,输入以下命令尝试

git pull origin <分支如master> --allow-unrelated-histories

Clone 克隆Git上的版本库

git clone sourceAddress destinationAddress

如:

git clone git@github.com:LOLITA0164/PhotoBrowser.git ~/Desktop/PhotoBrowser

添加远程分支到本地分支

$ git checkout -b dev1.1 origin/dev1.1

删除本地分支

$ git branch -d dev1.1

过程

1、拉取最新需要开发的分支到本地(fetch、merge)
2、开发功能,push前,再次拉取最新code
3、1-2循环
4、版本完成,merge到master分支,将该版本push到远程库中
5、打上tag,release该版本
6、1-5循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值