git——study notes

初始化git目录

git init

添加文件并提交

git add [filename01]

git add [filename02]

...

git commit -m "..."

查看版本历史

git log

git log --pretty=oneline

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

回退版本

git reset HEAD^

上一个版本

git reset HEAD^^

往上第二个版本

git reset HEAD~100

网上第100个版本

撤销回退

git reset --hard [commit_id]

id写前几位就可以了,git会自动寻找

查看命令历史

git reflog

可以查看commit_id

工作区的状态

git status

比较

git diff HEAD -- [filename]

比较工作区与版本库最新的差别

撤销工作区的修改

git checkout -- [filename]

撤销暂存区的修改

git reset HEAD

删除文件

本地 rm [filename] ---> git rm [filname]

如果本地误删,版本库还没有删除,可以用

git checkout -- [filname] 一键还原

创建远程仓库

github上创建一个仓库

git remote add origin  git@github.com:liuyuexizhi/liuyuexizhi.git

origin远程库的名字

克隆远程仓库

git clone

查看修改用户名和邮箱

[root@10-8-47-142 repository]#  git config user.name

tyler

[root@10-8-47-142 repository]#  git config user.email

liuyuexizhi@qq.com

[root@10-8-47-142 repository]# git config --global user.name "liuyuexizhi"

[root@10-8-47-142 repository]#  git config user.name

liuyuexizhi

分支

git checkout -b dev

-b 参数表示创建并切换

git branch dev

git checkout dev

git branch

查看当前分支

git checkout dev

切换分支

git merge dev [master]

合并分支

git branch -d dev

删除分支

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

普通模式合并分支,合并后的历史有分支,能看出来曾经做过合并

git stash

保存工作区状态,清空工作区

git stash list

查看保存的工作区状态

git stash drop [stashid]

删除stash

git stash apply [stashid]

恢复工作区

git stash pop [stashid]

恢复工作区并删除stash内容

git branch -D <name>

删除未合并的分区

抓取分支

git branch --set-upstream-to=origin/dev dev

指定本地与远程的分支连接

标签

创建标签,切换到需要的分支

git tag v1.0 <commit id>

查看标签

git tag

查看标签信息

git show <tagname>

删除本地标签

git tag -d v1.0

推送一个标签

git push origin v1.0

推送所有标签

git push origin --tags

删除远程标签,先删除本地标签

git push origin:refs/tags/v1.0

checkout部分文件

Git1.7.0以后加入了Sparse Checkout模式,这使得Check Out指定文件或者文件夹成为可能。

具体实现如下:

 

$mkdir project_folder

$cd project_folder

$git init

$git remote add -f origin <url>

 

上面的代码会帮助你创建一个空的本地仓库,同时将远程Git Server URL加入到Git Config文件中。

接下来,我们在Config中允许使用Sparse Checkout模式:

 

$git config core.sparsecheckout true

 

接下来你需要告诉Git哪些文件或者文件夹是你真正想Check Out的,你可以将它们作为一个列表保存在 .git/info/sparse-checkout 文件中。

例如:

 

$echo “libs” >> .git/info/sparse-checkout

$echo “apps/register.go” >> .git/info/sparse-checkout

$echo “resource/css” >> .git/info/sparse-checkout

 

最后,你只要以正常方式从你想要的分支中将你的项目拉下来就可以了:

 

$git pull origin master

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值