git 常用命令

  1. git 全局设置
git config --global user.name "teddyluo"
git config --global user.email "huiwu.luo@aliyun.com"
  1. 常用命令汇总
$ git init                    #把当前目录变成git可以管理的仓库
$ git add readme.txt          #添加一个文件,也可以添加文件夹
$ git add -A                  #添加全部文件, 或: git add .
$ git commit -m "更新日志"  #备注修改日志
$ git status                  #查看是否还有未提交
$ git log                     #查看最近日志
$ git reset --hard HEAD^      #版本回退一个版本
$ git reset --hard HEAD^^     #版本回退两个版本
$ git reset --hard HEAD~100   #版本回退多个版本
$ git remote add origin +地址 #远程仓库的提交(第一次链接)
$ git push -u origin master   #仓库关联
$ git push                    #远程仓库的提交(第二次及之后)
  1. 移除目录
$ git rm -r -n --cached "bin/"
#加上 `-n` 参数: 不会删除任何文件,仅展示此命令要删除的文件列表预览
$ git rm -r --cached  "bin/"  # 实际执行删除的命令
$ git commit -m" remove bin folder all file out of control"    #提交commit
$ git push origin master   # 提交到远程服务器
  1. 本地项目上传到github
# step 1: initialize a local repository
$ cd existing_folder
$ git init
# step 2: 本地的仓库关联到github上
$ git remote add origin https://github.com/teddyluo/testproj
# step 3: add some files
$ git add . # git add -A
$ git commit -m "some comment"
# step 4: push
$ git push -u origin master
  1. 忽略目录folder
# Step 1: 直接将folder添加.ignore 文件
# Step 2: 从git cache中移除跟踪
git rm -r --cached folder/
  1. 将local repository 与github同步:
git remote add upstream https://github.com/teddyluo/ICCV-2019-draft.git
git fetch upstream
git merge upstream/master master
git push origin master
  1. 通过socks5加速git clone
# 查看全局配置
$ git config --global -l
#添加全局配置
$ git config --global http.proxy 'socks5://127.0.0.1:1080' 
$ git config --global https.proxy 'socks5://127.0.0.1:1080'
# 取消配置
$ git config --global --unset http.proxy
$ git config --global --unset https.proxy
  1. 个人计算机上存储username和password,不用每次push都要输入用户名和密码
git config credential.helper store
git push http://example.com/repo.git
# 密钥存于 ~/.git-credentials 中
# specify caching expire (1 day)
git config --global credential.helper "cache --timeout 86400" 
# Read credentials Docs
git help credentials
  1. 退回到某个历史版本
# view commit history
git log
# 恢复到历史版本
$ git reset --hard commit_id    #退到/进到 指定commit_id, 例如 git reset --hard fae696 
# 把修改推到远程服务器
git push -f -u origin master  
 #回退到上个版本
$ git reset --hard HEAD^       
# 推送到远程
$ git push origin HEAD --force 
#
# 版本穿梭:先用git reflog打印你记录你的每一次操作记录
$ git reflog
# 返回到 b45959e
$ git reset --hard b45959e

注:
默认参数 -soft,所有commit的修改都会退回到git缓冲区
参数--hard,所有commit的修改直接丢弃

  1. 查看版本commit的图形化方式
gitk --all
# command 
git log --oneline --graph --decorate --all
git log --pretty=oneline --graph --decorate --all

: README的markdown 语法:

* 列表一
    * 列表二
        * 列表三
>缩进一
>>缩进二
>>>缩进三
>>>>缩进四
>>>>>缩进五

效果:

  • 列表一
    • 列表二
      • 列表三

缩进一

缩进二

缩进三

缩进四

缩进五

推荐阅读更多精彩内容

  • 摘要:本篇文章将记录git常用命令介绍和使用,主要包括clone、init、add、mv、reset、rm、log...
    曦儿宝贝阅读 248评论 0 0
  • 初始化配置 #配置使用git仓库的人员姓名 git config --global user.name "Your...
    贱精先玍丶阅读 185评论 0 0
  • 查看、添加、提交、删除、找回,重置修改文件 git help # 显示command的help git sho...
    Swiftor阅读 1,566评论 0 2
  • 配置 首先是配置帐号信息 ssh -T git@github.com#登陆github 修改项目中的个人信息 1 ...
    rochuan阅读 376评论 1 1
  • 朋友跟人吵架了,向我诉苦,我写了段话劝他,好像比较有效。这段话是这样的: 这个世界上有三种人:第一种是好人,什么是...
    刘杰字文峰阅读 180评论 1 1