Git常用操作

本地基本操作

用户信息

git config --global user.name "username"
git config --global user.email "username@xxx.com"

创建本地库

git init  #使用某个目录作为git存储库,先进入这个目录,执行这个命令
git init newDir  #创建目录并作为git存储库

添加工作区文件到暂存区

git add file1 file2
git add .  #命令执行目录下的所有文件,包括子文件夹中的文件
git add -u  #添加版本库已追踪的更新文件
git add -A  #添加版本库已追踪和未追踪的文件

提交暂存区文件到本地库

git commit -m "注释说明"
git commit --amend  #修改注释说明,输入这个命令后会出现修改区域,注意只能修改最近提交的注释
git commit -a -m "注释说明"  #修改的跟踪文件一步完成添加到暂存区和提交操作

恢复文件到工作区

git checkout -- file1 file2  #把暂存区文件恢复到工作区
git checkout 指定版本号 目标file  #从版本库中指定版本文件恢复到工作/暂存区

执行这其中当中某个命令后相当于撤销了本地文件的更改,恢复到暂存区或者本地库一致的状态,这个操作比较危险,应特别注意!

取消&删除&移动暂存区文件

git reset file1  #从暂存区取消git add的文件,这个操作并不会改变本地版本库。
git rm -r -n --cached ./  #预览要取消跟踪的文件
git rm --cached file1  #从暂存区移除并取消跟踪文件
git rm file1  #删除暂存区、git分支库和工作目录git跟踪的指定文件
git mv file dir  #移动暂存区文件到指定目录

版本库回退到之前的一个提交

git reset --soft head^  #只将本地版本库回退到之前的一个提交,也可以将head^指定成commit-id
git reset --mixed head^  #只将本地版本库和暂存区回退到之前的一个提交
git reset --hard head^  #将本地版本库、暂存区和工作区回退到之前的一个提交

恢复回退掉的提交

git reset --hard commit-id  #可以通过git reflog命令查看commit-id信息

本地辅助操作

查看工作区状态

git status
git status -s  #简略的显示改动
git status -uno  #未被版本库跟踪的文件不显示

查看提交记录

git log
git log file  #指定文件的日志
git log --pretty=oneline  #只显示提交的commit-id和说明
git log --graph  #可以看到分支合并图

查看所有操作记录

git reflog

文档对比

本地分支操作

查看分支信息

git branch  #列出本地的分支
git branch -r  #查看远程分支
git branch -a  #包括远程的分支

创建&切换分支

git branch dev  #创建dev分支
git checkout dev  #切换到dev分支上
git checkout -b bug  #创建bug分支并切换到bug分支上

合并分支

git merge dev  #合并dev分支到当前分支
git merge --no-ff -m "注释说明" branch  #不管有没有冲突文件都创建一个commit-id

使用rebase合并分支

git rebase dev  #合并dev分支
git rebase --continue  #解决冲突之后执行git add .,然后执行这个命令继续合并分支
git rebase --skip  #如果冲突文件解决了也git add .了,执行git rebase --continue命令没作用就执行这个命令
git rebase --abort  #终止当前合并操作,使恢复到合并前的状态

merge和rebase的区别

merge 适用于团队合作分支的合并,rebase适用于对于本地个人使用的分支的合并

移动重命名&删除分支

git branch -m dev bug  #将dev分支重命名为bug分支
git branch -d dev  #删除dev分支,如果有提交的话需要合并后才能删掉
git branch -D bug  #强制删除

储藏工作空间

git stash  #储藏工作空间,如果希望把未跟踪的文件一起储藏,请先加到暂存区
git stash list  #查看储藏记录
git stash pop  #恢复并删除储藏记录
git stash apply  #从最近一个储藏恢复
git stash apply stash@{1}  #指定储藏恢复
git stash drop  #删除最近的储藏
git stash drop stash@{0}  #删除指定储藏
git stash branch branchName  #从储藏中创建分支

本地标签、归档

创建标签

git tag v1.0
git tag -a v1.0  #进入文本框输入注释说明
git tag -a v1.0 -m '注释说明'  #创建标签加注释说明一次完成
git tag -a v1.3 commit-id -m '标签说明'  #适用提交记录创建标签
git tag  #查看已有标签
git show v1.1  #查看标签版本信息

删除标签

git tag -d v1.0

归档
打包

远程库操作

克隆

git clone repoUrl
git clone repoUrl newDir  #克隆远程库到本地创建的newDir目录

远程库关联

git remote add origin repoUrl
git remote rm origin  #取消关联远程仓库
git remote rename origin o1  #重命名远程库
git remote -v  #所有远程库列表
git remote show o1  #远程库详情

远程分支操作

git branch --set-upstream-to=origin/master master  #master分支关联
git push origin dev  #创建远程分支,直接将本地创建的分支推送即可

推送到远程分支

git push -u origin master  #将分支master推送到远程库,第一次推送加-u参数关联master分支

获取远程更新到本地

git fetch origin  #不会覆盖暂存区和工作区
git pull origin dev:dev
git pull --rebase origin master  #解决推送时提示的failed to push some refs to git错误

远程标签操作

推送本地标签

git push origin v1.0  
git push origin --tags  #将所有未推送的标签推送到远程库

删除远程标签

git tag -d v1.0  #先删除本地标签
git push origin :refs/tags/v1.0  #再删除远程标签

远程协同操作

打补丁&使用补丁

git format-patch head^  #使用最近一次提交来创建补丁
git apply 补丁.patch  #使用补丁
git am 补丁.patch  #打完补丁并提交,一般先执行 git am --abort
git diff  #对比文件,使用补丁后可以查看更改信息
patch -R -p1 < 补丁.patch  #撤销使用的补丁

邮件补丁

待补充

远程环境设置操作

ssh-key设置

ssh-keygen  -t rsa –C "账户邮箱"  #使用这个生成秘钥

执行以上命令后,在操作系统的用户目录下找到.ssh文件,打开里面的id_rsa.pub,这个是公钥,将里面的内容拷贝,在游览器点开码云账户设置里面找到SSH公钥,添加公钥,标题随便填,然后把刚才拷贝的公钥粘贴到公钥value下,点确定,然后让你输入密码,完成!

配置别名

待补充

忽略特殊文件

待补充

posted @ 2019-12-07 23:15  Aick  阅读(139)  评论(0编辑  收藏  举报