- git 全局设置
git config --global user.name "teddyluo"
git config --global user.email "huiwu.luo@aliyun.com"
- 常用命令汇总
$ 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 #远程仓库的提交(第二次及之后)
- 移除目录
$ 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 # 提交到远程服务器
- 本地项目上传到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
- 忽略目录
folder
# Step 1: 直接将folder添加.ignore 文件
# Step 2: 从git cache中移除跟踪
git rm -r --cached folder/
- 将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
- 通过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
- 个人计算机上存储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
- 退回到某个历史版本
# 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的修改直接丢弃
- 查看版本commit的图形化方式
gitk --all
# command
git log --oneline --graph --decorate --all
git log --pretty=oneline --graph --decorate --all
附: README的markdown 语法:
* 列表一
* 列表二
* 列表三
>缩进一
>>缩进二
>>>缩进三
>>>>缩进四
>>>>>缩进五
效果:
- 列表一
- 列表二
- 列表三
- 列表二
缩进一
缩进二
缩进三
缩进四
缩进五
网友评论