github 使用

搜索

  • You-Dont-Know-JS
  • free programming books
  • followers:>500




github大神项目



git











配置

git config --global user.name "jh"
git config --global user.email "jh2k15@qq.com"
git config --get remote.origin.url "http://"

基本用法

git clone git@github.com:jh2k15/demo.git //克隆gihub上的repositories
git init  //初始化仓库
git add .  //跟踪文件 添加新创建或修改的文件到本地的缓存区(Index)*
git commit  -m 'jh2k' //提交到本地仓库repository  -m添加本次修改的注释
git remote add origin https://jh2k.git   //将本地仓库和远程仓库链接起来 origin是远程仓库默认的叫法
git push -u origin master //推送到GitHub上

创建版本库

  #克隆远程版本库
$ git init  #初始化本地版本库

修改和提交

  #跟踪指定文件
$ git mv    #文件名更改
$ git rm   #删除文件
$ git rm --cached   #停止跟踪文件但不删除
$ git commit -m "commit message"  #提交所有更新过的文件
$ git commit --amend  #修改最后一次提交

查看提交历史

 #查看指定文件的提交历史
$ git blame  #以列表方式查看指定文件的提交历史
$ git status  #查看当前git仓库的状态 working tree的状态

撤销

 # 撤销指定的未提交文件的修改内容
$ git revert  #撤销指定的提交

分支与标签

 #切换到指定分支或标签
$ git branch  #创建新分支
$ git branch -d  #删除本地分支
$ git tag #列出所有本地标签
$ git tag  #基于最新提交创建标签
$ git tag -d  #删除标签

合并与衍合

  #合并指定分支到当前分支
$ git rebase   #衍并指定分支到当前分支

远程操作

  #查看指定远程版本库信息
$ git remote add   #添加远程版本库
$ git fetch  # 从远程库获取代码  
$ git pull   # 下载代码及快速合并  等于git fetch ;git merge
$ git push   #上传代码及快速合并
$ git push  : #删除远程分支或标签
$ git push --tags #上传所有标签

branch

git branch -f master HEAD~3 //移动master位置
git branch -d  //只能删除那些已经被当前分支的合并的分支
git branch –D  //强制删除某个分支的话就用
git branch -u
git branch -a

tag

git tag tagName indexName  #前面8位即可
git tag中使用-a, -s 或是 -u三个参数中任意一个,都会创建一个标签对象,并且需要一个标签消息(tag message)来为tag添加注释。 如果没有-m 或是 -F 这些参数,命令执行时会启动一个编辑器来让用户输入标签消息

切换分支(checkout)

git checkout . //还原所有文件到index存档文件
git checkout -b branchName master //新建分支名称

拉取与推送

git pull --rebase
git pull fetch;git rebase
git push origin foo~:master
git fetch origin master:foo
$ git push --tags                       #上传所有标签

删除与撤销

git reset //处于未加入暂存区 变更还在
git reset --hard HEAD^ //撤销一个合并
$ git reset --hard HEAD      #撤销工作目录中所有未提交文件的修改内容
$ git checkout HEAD    #撤销指定的未提交文件的修改内容
$ git revert         #撤销指定的提交
$ git log --before="1 days"  #退回到之前1天的版本

查看

git diff --cached  //查看缓存区中哪些文件被修改了。q退出
git diff test --stat //统计一下有哪些文件被改动
git help diff详细查看其他参数和功能
git log --stat //打印详细的提交记录
git log --pretty=short //oneline,medium,full,fuller,email 或raw
--graph 选项可以可视化你的提交图
--topo-order提交会按逆时间顺序显示
git log --pretty=format:'%h : %s' --topo-order --graph

其他

git revert
git cherry-pick C1 C2; //复制到master
git rebase -i //重新排序interactive
git rebase caption master
git bisect
git describe master
git commit -a -m 'jh2k'  #-a命令不会添加新建的文件

.gitignore规则不生效

.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中(通俗一点的说法就是,改项目已经提交了一次,但那次提交并没有加入.gitignore文件,或者就是提交至少一次之后,再添加.gitignore文件),则.gitignore是无效的,不会起作用的。解决方法就是先把本地缓存删除,然后再提交:

$ git rm -r --cached .
$ git add .

相关文章

咱们在vscode中使用copilot的过程中,有可能会涉及到个人账号...
这篇文章给大家介绍怎么在GitHub上快速找到实用资源,内容非...
这篇文章主要介绍“github缓存穿透的解决方法是什么”,在日...
本篇内容介绍了“github线性回归怎么实现”的有关知识,在实...
怎样使用GitHub,很多新手对此不是很清楚,为了帮助大家解决...
今天小编给大家分享一下GitHub的高级搜索方法有哪些的相关知...