-
git常用命令总结
2019-07-31 19:21:19最常用到的: git config --global user.name "yaojiacheng" //设置用户名 ...每次 Git 提交时都会引用上面这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录。如果用了--global选项,那么...最常用到的:
git config --global user.name "yaojiacheng" //设置用户名
git config --global user.email "yaojiacheng@lidehang.com" //设置用户邮箱
每次 Git 提交时都会引用上面这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录。如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
git config --list //查看git的配置信息,可以看到包括上面两条信息在内的已有配置,查看单条配置信息可以使用命令 git config [keyName],比如 git config user.name
git clone 代码的git地址 //下载远程仓库上的代码
git init //初始化本地仓库(即缓存区)
git remote add origin 代码的git地址 //连接远程仓库
git pull //抓取远程仓库所有分支更新到本地并合并
git add . //提交所有变更到本地仓库(即缓存区)
git commit -m "备注" //确认提交,并写上备注,注意,大部分情况下不写备注是无法提交的
git config http.postBuffer 524288000 //本地设置缓存大小,有些项目文件较大,使用http无法上传,可设置此命令
git push -u origin master //将代码推送到远程仓库,如无远程主分支则创建,可用于初始化远程仓库,以后提交直接git push即可
详细的介绍如下:
查看、添加、提交、删除、找回,重置修改文件
git help <command> # 显示command的help
git show # 显示某次提交的内容 git show $id
git co -- <file> # 抛弃工作区修改
git co . # 抛弃工作区修改
git add <file> # 将工作文件修改提交到本地暂存区
git add . # 将所有修改过的工作文件提交暂存区
git commit -m "备注" # 确认提交,并写上备注
git rm <file> # 从版本库中删除文件
git rm <file> --cached # 从版本库中删除文件,但不删除文件
git reset <file> # 从暂存区恢复到工作文件
git reset -- . # 从暂存区恢复到工作文件
git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做 git ci -am "some comments"
git ci --amend # 修改最后一次提交记录
git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象
git revert HEAD # 恢复最后一次提交的状态
查看文件diff
git diff <file> # 比较当前文件和暂存区文件差异 git diff
git diff <id1><id2> # 比较两次提交之间的差异
git diff <branch1>..<branch2> # 在两个分支之间比较
git diff --staged # 比较暂存区和版本库差异
git diff --cached # 比较暂存区和版本库差异
git diff --stat # 仅仅比较统计信息
查看提交记录
git log git log <file> # 查看该文件每次提交记录
git log -p <file> # 查看每次详细修改内容的diff
git log -p -2 # 查看最近两次详细修改内容的diff
git log --stat #查看提交统计信息
tig
Mac上可以使用tig代替diff和log,brew install tig
Git 本地分支管理
查看、切换、创建和删除分支
git br -r # 查看远程分支
git br <new_branch> # 创建新的分支
git br -v # 查看各个分支最后提交信息
git br --merged # 查看已经被合并到当前分支的分支
git br --no-merged # 查看尚未被合并到当前分支的分支
git co <branch> # 切换到某个分支
git co -b <new_branch> # 创建新的分支,并且切换过去
git co -b <new_branch> <branch> # 基于branch创建新的new_branch
git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支
git br -d <branch> # 删除某个分支
git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
分支合并和rebase
git merge <branch> # 将branch分支合并到当前分支
git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交
git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>
Git补丁管理(方便在多台机器上开发同步时用)
git diff > ../sync.patch # 生成补丁
git apply ../sync.patch # 打补丁
git apply --check ../sync.patch #测试补丁能否成功
Git暂存管理
git stash # 暂存
git stash list # 列所有stash
git stash apply # 恢复暂存的内容
git stash drop # 删除暂存区
Git远程分支管理
git pull # 抓取远程仓库所有分支更新并合并到本地
git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并
git fetch origin # 抓取远程仓库更新
git merge origin/master # 将远程主分支合并到本地当前分支
git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支
git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上
git push # push所有分支
git push origin master # 将本地主分支推到远程主分支
git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
git push origin <local_branch> # 创建远程分支, origin是远程仓库名
git push origin <local_branch>:<remote_branch> # 创建远程分支
git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支
Git远程仓库管理
git remote -v # 查看远程服务器地址和仓库名称
git remote show origin # 查看远程服务器仓库状态
git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址
git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库
创建远程仓库
git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库
scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上
mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库
git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址
git push -u origin master # 客户端首次提交
git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track
git remote set-head origin master # 设置远程仓库的HEAD指向master分支
也可以命令设置跟踪远程库和本地库
git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop
Git 常用命令图表
-
Git 常用命令总结
2017-06-20 20:23:08Git常用命令 请确保已经安装了git客户端 一般配置 git --version //查看git的版本信息 git config --global user.name //获取当前登录的用户 git config --global user.email //获取当前登录用户的邮箱 ...git的一些基础命令
Git常用命令
请确保已经安装了git客户端
一般配置
git --version //查看git的版本信息 git config --global user.name //获取当前登录的用户 git config --global user.email //获取当前登录用户的邮箱
登录git
/* 如果刚没有获取到用户配置,则只能拉取代码,不能修改 要是使用git,你要告诉git是谁在使用*/ git config --global user.name 'userName' //设置git账户,userName为你的git账号, git config --global user.email 'email'
创建一个文件夹
mkdir nodejs //创建文件夹nodejs cd nodejs //切换到nodejs目录下
初始化git仓库
git init //在nodejs文件夹下初始化一个仓库,此时文件里会到一个.git的隐藏文件夹
创建忽略文件
touch .gitignore //不需要服务器端提交的内容可以写到忽略文件里 /* .git .idea */
查看目录
ls -al
创建文件并写入内容
-
如果文件不存在则会创建文件
echo "hello git" > index.html //将'hello git' 写入到index.html中
单个>箭头表示写入, >>表示追加
查看文件内容
cat index.html
增加到暂存区中
git add index.html git add -A //全部添加到缓存区
增加到版本库中
git commit -m '备注信息'
查看版本
git log --oneline
比较差异
-
比较的是暂存区和工作区的差异
git diff
-
比较的是暂存区和历史区的差异
git diff --cached
-
比较的是历史区和工作区的差异(修改)
git diff master
撤回内容
(如果修改了工作区的文件后发现改错了,可以用暂存区或者版本库里的文件替换掉工作区的文件) -
用暂存区中的内容或者版本库中的内容覆盖掉工作区
git checkout index.html
取消增加到暂存区的内容(添加时)
git reset HEAD index.html
//显示目录的状体 有没有添加或者修改文件
git status
删除本地文件
rm fileName
删除暂存区
-
保证当前工作区中没有index.html
git rm index.html --cached
使用--cached 表示只删除缓存区中的内容
回滚版本
-
回滚最近的一个版本 git log
git reset --hard HEAD/commit_id
回滚到未来
git reflog
分支管理
创建分支
git branch dev
切换分支
git checkout dev
创建分支并切换分支
git checkout -b dev
删除分支
git branch -d dev
在分支上提交新的版本
git commit -a -m 'dev1'
合并分支
git merge dev
分支的合并后显示log
git log --oneline --graph --decorate
在分支开发的过程中遇到其他问题需要切换其他分支
- 保留写好的内容在切换到主干
-
保留内容
git stash
在次切换分之后需要应用一下保留的内容
git stash apply
丢掉保存的内容
git stash drop
使用并丢掉
git stash pop
最佳分支
-有的时候开发需要合并指定的内容,而不是合并所有的提交,所以我们需要挑选最好的,自己生产版本
合并分支把树杈掰到主干上
git rebase
添加远程的仓库
push -u
-u参数 upstream
git push origin master -u //获取最新代码
连接远程仓库
git remote add origin 仓库的地址
查看远程仓库
git remote -v
删除远程仓库
git remote rm origin
git常用命令
安装及配置:
Ubuntu下安装:
sudo apt-get install git
配置用户名:git config --global user.name "你的名字"
配置e-mail:git config --global user.email "你的邮箱@xx.com"
与添加有关的:
将当前目录变为仓库:
git init
将文件添加到暂存区:git add 文件名 [可选:另一个文件名]
将暂存区提交到仓库:git commit –m "描述"
与查询有关的:
查询仓库状态:
git status
比较文件差异(请在git add之前使用):git diff 文件名
查看仓库历史记录(详细):git log
查看仓库历史记录(单行):git log --pretty=online
或git log --online
查看所有版本的commit ID:git reflog
与撤销有关的:
撤销工作区的修改:
git checkout -- 文件名
撤销暂存区的修改:git reset HEAD 文件名
回退到历史版本:git reset --hard 该版本ID
回退到上个版本:git reset --hard HEAD^
上上版本是HEAD^^
,也可用HEAD~2
表示,以此类推与标签有关的:
为当前版本打标签:
git tag 标签名
为历史版本打标签:git tag 标签名 该版本ID
指定标签说明:git tag –a 标签名 –m "标签说明" [可选:版本ID]
查看所有标签:git tag
查看某一标签:git show 标签名
删除某一标签:git tag –d 标签名
与GitHub有关的:
先有本地库,后有远程库,将本地库push到远程库
关联本地仓库和GitHub库:
git remote add origin 网站上的仓库地址
第一次将本地仓库推送到GitHub上:git push –u origin master
先有远程库,后有本地库,从远程库clone到本地库
从远程库克隆到本地:
git clone 网站上的仓库地址
网站地址可以选择HTTPS协议(
https://github.com...
)、SSH协议(git@github.com...
)。
如果选择SSH协议,必须将Ubuntu的公钥添加到GitHub上。见下一步SSH Key
生成SSH Key:
ssh-keygen –t rsa –C "你的邮箱@xx.com"
生成Key时弹出选项,回车选择默认即可。
Key保存位置:/root/.ssh
登陆GitHub,创建new SSH key,其内容为/root/.ssh/id_rsa.pub
中文本已经有了本地库和远程库,二者实现同步
本地库的改动提交到远程库:
git push origin master
更新本地库至远程库的最新改动:git pull
转载地址:https://www.cnblogs.com/libin-1/p/5918468.html
-
-
git 常用命令总结
2020-03-16 11:42:36git 常用命令总结git 常用命令总结分支管理分支策略相关命令其他命令 git 常用命令总结 分支管理 分支策略 创建个人分支,避免对主分支 master造成太多的干扰,便于与他人的交流合作 当进行高风险的工作时,创建一...git 常用命令总结
git 常用命令总结
分支管理
分支策略
- 创建个人分支,避免对主分支 master造成太多的干扰,便于与他人的交流合作
- 当进行高风险的工作时,创建一个试验型分支
- 合并别人工作时,创建一个临时分支
相关命令
git branch
列出所有分支,当前分支会有 * 标记git branch develop
创建一个名为develop的分支git checkout develop
切换到develop分支git checkout -b test
创建并切换到分支testgit branch -d test
删除名为test的分支(注:不可删除当前分支)git merge master
合并当前分支到mastergit log --graph
查看分支合并图git push origin develop
推送到developgit pull
拉取代码若出现上图错误,说明本地分支和远程分支的连接关系还没有创建,执行
git branch --set-upstream-to=origin/<branch> develop
参考文章:https://www.cnblogs.com/gzshan/p/10681710.html
其他命令
- 下载项目:
git clone 项目地址
- 删除文件:
git rm -r 文件夹目录
- 提交到本地:
git commit -m 提交注释
- 拉取到本地:
git pull
- 推送到远程:
git push
- 添加新增文件:
git add 文件地址
- 查看提交到本地的文件:
git status
- 撤销提交到本地所有文件:
git reset HEAD
- 撤销提交到本地的指定文件:
git reset HEAD 文件地址
-
Git常用命令总结
2017-04-16 09:41:40git常用命令总结Git常用命令总结
配置
首先是配置帐号信息git config --global user.name *** # your username git config --global user.email ***@***.*** #your email git config --list #查看配置的信息 git help config #获取帮助信息
配置密钥
ssh-keygen -t rsa -C ***@****.*** #生成密钥 ssh -T git@github.com #测试是否成功
新建仓库
git init#初始化 git status#获取状态 git add file#.或*代表全部添加 git commit -m "message"#此处注意乱码 git remote add origin git@github.com:***/***.git#添加源 git push -u origin master #push同事设置默认跟踪分支
从现有仓库克隆
git clone git://github.com/****/***.git git clone git://github.com/***/***.git mydir #克隆到指定文件夹
本地
git add *#跟踪新文件 git rm -f *#移除文件 git rm --cached *#取消跟踪 git mv file_from file_to#重命名跟踪文件 git log#查看提交记录 git commit#提交更新 git commit -m 'message' git commit -a#跳过使用暂存区域,把所有已经跟踪过的文件暂存起来一并提交 git commit --amend#修改最后一次提交 git reset HEAD *#取消已经暂存的文件 git checkout -- file#取消对文件的修改(从暂存区去除file) git checkout branch|tag|commit -- file_name#从仓库取出file覆盖当前分支 git checkout -- .#从暂存区去除文件覆盖工作区
分支
git branch#列出本地分支 git branch -r#列出远端分支 git branch -a#列出所有分支 git branch -v#查看各个分支最后一个提交对象的信息 git branch --merge#查看已经合并到当前分支的分支 git branch --no-merge#查看为合并到当前分支的分支 git branch test#新建test分支 git checkout test#切换到test分支 git checkout -b test#新建+切换到test分支 git checkout -b test dev#基于dev新建test分支,并切换 git branch -d test#删除test分支 git branch -D test#强制删除test分支 git merge test#将test分支合并到当前分支 git rebase master#将master分之上超前的提交,变基到当前分支
远端
git fetch originname branchname#拉去远端上指定分支 git merge originname branchname#合并远端上指定分支 git push originname branchname#推送到远端上指定分支 git push originname localbranch:serverbranch#推送到远端上指定分支 git checkout -b test origin/dev#基于远端dev新建test分支 git push origin :server#删除远端分支
源
git是一个分布式代码管理工具,所以可以支持多个仓库,在git里,服务器上的仓库在本地称之为remote。git remote add origin1 git@github.com:***/data.js.git git remote#显示全部源 git remote -v#显示全部源+详细信息 git remote rename origin1 origin2#重命名 git remote rm origin1#删除 git remote show origin1#查看指定源的全部信息
标签
当开发到一定阶段时,给程序打标签是非常棒的功能。git tag#列出现有标签 git tag v0.1#新建标签 git tag -a v0.1 -m 'my version 1.4'#新建带注释标签 git checkout tagname#切换到标签 git push origin v1.5#推送分支到源上 git push origin --tags#一次性推送所有分支 git tag -d v0.1#删除标签 git push origin :refs/tags/v0.1#删除远程标签
参考资料
-
GIT 常用命令总结
2020-03-12 11:29:29GIT 常用命令总结 GIT 初始化命令 命令 描述 git init 初始化本地 git 仓库 git config --global user.name “github 的用户名” 配置全局用户名 git config --global user.email “github 绑定的邮箱”...
-
kuangbin专题六 最小生成树题解
-
MySQL 触发器
-
使用 Linux 平台充当 Router 路由器
-
js去除字符串中的html标签
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
flow-db-admin:与流路由器一起使用的Meteor数据库管理软件包-源码
-
MyBatis3.5.4官方文档.docx
-
【爱码农】C#制作MDI文本编辑器
-
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com
-
从第一性原理计算得出的半氟化GaN片材的磁性能
-
DL | 目标检测-yolov3模型——资料汇总——有细节好理解
-
LeetCode 684. 冗余连接--并查集
-
色彩如何影响购物
-
VC++_2010_学习版.zip
-
牛牛量化策略交易
-
MySQL 高可用(DRBD + heartbeat)
-
Mysql数据库面试直通车
-
Oracle_11g_Linux到Linux_DataGuard部署
-
基于Qt的LibVLC开发教程
-
GO GC垃圾回收算法