Git速查手册

网页内容搜索快捷键

Ctrl+F

安装Git (ubuntu)

sudo apt-get install git

创建一个Git仓库,初始化使用

mkdir  git_name
cd  git_name
git init

显示当前目录

pwd  (print working directory的缩写)

显示隐藏目录

ls -ah
  • 添加要提交的文件
git add the_file_you_changed
  • 提交
git commit -m'what_you_change_in_your_file'

显示当前已修改但没有提交的文件

git status

显示具体修改内容

git diff

查看历史记录(可显示为一行,添加–pretty=oneline)

git log

版本回退

git reset --hard head^(head是当前版本,一个^代表回退一次,可输入多个)
或者 git reset --hard head~1(数字代表你要回退的版本次数)

查看未来的版本,并git回去(即从当前版本git到之前版本,丢失的之前后面的版本)

git reflog得到版本记录(版本id+注释)
git reset --hard 版本id

显示文件内容

cat your_file_name

取消add后的对文件的再次修改内容或者取消上次commit之后的修改但本次没有add的文件

git checkout -- the_file_you_changed

将add后的文件修改内容撤回到工作区(正常编写区)

git reset head -- the_file_you_changed(只撤销了最近一次)
(上面俩个组合使用几乎可解决大部分问题)

在提交后删除了本地工作区文件想要从版本库也删除该文件

git rm test.txt
git commit -m "remove test.txt"

(接上)从版本库恢复刚才删掉的本地工作区文件

git checkout -- test.txt

连接.关联远程仓库
git remote add origin git@github.com:your-id/your-project.git(注意后缀名 .git)

创建秘钥(生成后在C:\Users\Administrator/.ssh)

ssh-keygen -t rsa -C "youremail@example.com"

SSH推送

git remote add origin git@github.com:unexpected-ads/learngit.git
git push -u origin master

SSH第二次及之后推送

git push origin master

HTTPS推送

git remote add origin https://github.com/unexpected-ads/learngit.git
git push -u origin master

创建新的dev分支并切换到dev

git checkout -b dev 
git branch dev(创建)  
git checkout dev(切换)

查看当前分支

git branch

合并指定分支(dev)到当前分支(master)

git merge dev

删除分支(dev)

git branch -d dev

fast foward模式合并时产生合并时的分支(dev)信息(fast foward默认的merge合并模式时如果没有问题则删除分支后会丢失分支信息)

git merge --no-ff -m "merge with no-ff" dev

暂存当前工作stash工作现场

git stash

显示所有工作现场

git stash list

选择工作现场恢复

git stash apply直接恢复但保留存储的工作现场
git stash drop直接删除
git stash pop恢复并删除存储的工作现场
git stash apply stash@{number}从stash list中选择恢复

强制删除已提交但未合并的分支

git branch -D your-branch-name

查看远程库信息

git remote

查看远程库详细信息

git remote -v

推送到远程库

git push origin master(master是主分支,可以推送到别的分支,可自行更改)

推送失败,获取新的文件

git pull

设置本地与远程的分支连接

git branch --set-upstream dev origin/dev

克隆远程仓库

 git clone git@github.com:target-id/target-project.git(注意后缀 .git)

强制删除

git rm -rf file_or_directory

重新设置head指针

git reset --hard HEAD

在本地创建和远程分支对应的分支

git checkout -b branch-name origin/branch-name

建立本地分支和远程分支的关联

git branch --set-upstream dev(本地名) origin/dev(远程名)

打标签

git tag v1.0

在一行显示所有历史commit的id

git log --pretty=oneline --abbrev-commit

用id打标签

git tag v0.9 commit-id

查看标签信息
git show v0.9
可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

git tag -a v0.1 -m "version 0.1 released" 3628164

还可以通过-s用私钥签名一个标签:签名采用PGP签名,因此,必须首先安装gpg(GnuPG),如果没有找到gpg,或者没有gpg密钥对,就会报错

git tag -s v0.2 -m "signed version 0.2 released" id

删除标签

git tag -d v0.1

推送到远程仓库的标签

git push origin v1.0

一次性推送全部尚未推送到远程的本地标签

git push origin --tags

删除远程仓库的git标签(先删本地,在推送删除)

git tag -d v0.9
git push origin :refs/tags/v0.9

删除已连接的origin远程仓库

git remote rm origin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值