git--note

一、基础

git init 初始化一个Git仓库

git add <file> 添加文件

git commit -m <message> 提交

git status 状态

git diff 查看工作区和暂存区的不同

git diff–cached 就是查看暂存区和版本库的不同

git log 查看提交历史

git log --pretty=oneline 只看一行历史

git reset --hard HEAD^ 版本退回,上一版本(HEAD^^:上上个版本、HEAD~100:上100个版本)

git reset --hard commit_id 版本退回,对应commit_id版本

git reflog 查看命令历史(重返未来)

git checkout <file> 丢弃工作区修改,用版本库里的版本替换工作区的版本,未提交缓存区删除了也可恢复

git reset HEAD <file> 丢弃缓存区修改,用版本库里的版本替换缓存区的版本,未提交版本库删除了也可恢复

git rm <file> 删除一个文件

二、远程仓库

ssh-keygen -t rsa -C "youremail@example.com" 创建SSH Key

git remote add origin git@github.com:michaelliao/learngit.git 建立远程连接

git remote rm origin 删除远程连接

git push -u origin master 把本地的master分支推送到远程origin,-u关联本地master分支和远程master分支

git push origin master 后续推送最新修改

git clone git@github.com:michaelliao/gitskills.git 从远程库克隆一个本地库

三、分支管理

1)创建与合并分支

git branch 查看分支

git branch <name> 创建分支

git checkout <name> 切换分支

git checkout -b <name> 创建+切换分支

git merge <name> 合并某分支到当前分支

git branch -d <name> 删除分支

2)解决冲突

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

git log --graph --pretty=oneline --abbrev-commit 查看分支合并图

3)分支管理策略

git merge --no-ff -m “merge with no-ff” dev 合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

4)Bug分支

git stash 把当前工作现场“储藏”起来

git stash pop 恢复的同时把stash内容删除

git stash list 查看“储藏”的工作现场列表

git stash apply 恢复stash

git stash drop 删除stash

git stash apply stash@{0} 恢复指定的stash

5)Feature分支

开发一个新feature,最好新建一个分支;

git branch -D 强行删除丢弃一个没有被合并过的分支

4)多人协作

git remote 查看远程库的信息

git remote -v 查看远程库的详细信息

git push origin <branch-name> 推送指定分支

git checkout -b <branch-name> origin/<branch-name> 在本地创建和远程分支对应的分支

git branch --set-upstream-to=origin/<branch-name> <branch-name>
git branch --set-upstream <branch-name> origin/<branch-name>
建立本地分支和远程分支的关联

git pull 抓取远程的最新提交

5)Rebase

git rebase 可兼容后使用,把本地未push的分叉提交历史整理成直线,目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比

四、标签管理

git tag <tagname> 用于新建一个标签,默认为HEAD

git tag <tagname> <commit_id> 也可以指定一个commit id

git tag -a <tagname> -m “blablabla…” 可以指定标签信息

git tag 可以查看所有标签

git show <tagname> 可以查看指定标签详细信息

git push origin <tagname> 推送一个本地标签

git push origin --tags 推送全部未推送过的本地标签

git tag -d <tagname> 可以删除一个本地标签

git push origin :refs/tags/<tagname> 可以删除一个远程标签

五、自定义Git

1)忽略特殊文件

配置.gitignore

git add -f <file_name> 强制添加到Git

git check-ignore -v <file_name> 检查.gitignore规则

2)配置别名
git config --global alias.co checkout
git config --global alias.unstage 'reset HEAD’

git config --global alias.<name> <command>

#其他

1)编辑模式如何退出:
编辑模式如何退出

2)图形界面:
gitlab

3)git add上传本地项目所有变化的命令三种有 git add -A、git add -u、git add .

git add -A  提交所有变化
git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件


git status 
git add -A
git commit -a -m"first commit"

4)如何添加一个空目录到Git仓库
在空目录中创建“.gitignore”文件,内容如下:

# Ignore everything in this directory
*
# Except this file
!.gitignore
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值