Fork me on GitHub

Git常用命令

文章概述

本篇文章为Git常用命令笔记。

配置用户

用于提交的用户信息:用户名和邮箱;

命令:

1
2
$ git config --global user.name "cnlius"
$ git config --global user.email "cnmrliu@163.com"

重置登录校验

有的时候电脑同时存在github和oschina两种或以上git仓库时,仅有一个支持免密码操作,其他的需要密码验证,如果输错密码或者用户名,之后就不会提示了,可以使用一下命令重置密码提示:

1
2
//cmd管理员身份打开
$ git config --system --unset credential.helper

本地分支管理

1
2
3
4
5
6
查看分支:$ git branch
创建分支:$ git branch <name>
切换分支:$ git checkout <name>
创建+切换分支:$ git checkout -b <name>
合并某分支到当前分支:$ git merge <name>
删除分支:$ git branch -d <name>

远程分支管理

1
2
3
4
5
6
查看所有远程分支:$ git branch -a
切换远程分支:$ git checkout -b branch_alias origin/branch_name

查看关联的远程仓库:$ git remote -v
取消远程仓库关联:$ git remote remove origin
添加远程仓库关联:$ git remote add origin http://xxx.git

标签管理

1
2
3
4
5
6
7
8
9
10
11
12
新建标签(会在当前分支时间点创建):$ git tag <name>
指定标签信息:$ git tag -a <tagname> -m "blablabla..."
用PGP签名标签:$ git tag -s <tagname> -m "blablabla..."

查看所有标签:$ git tag
切换到某标签:$ git checkout tag_name
根据某标签创建分支:$ git checkout -b branch_name tag_name

推送一个本地标签:$ git push origin <tagname>
推送全部未推送过的本地标签:$ git push origin --tags
删除一个本地标签:$ git tag -d <tagname>
删除一个远程标签:$ git push origin :refs/tags/<tagname>

提交

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
推送当前到远程仓库:$ git push
推送所有到远程仓库:$ git push --all
更新远程仓库内容到本地:$ git pull
首次推送分支到远程:$ git push -u origin master
首次推送本地仓库所有分支到远程仓库:
$ git push -u origin --all
$ git push -u origin --tags
查看提交历史:
$ git log //会显示:提交id 提交人 提交时间
$ git log --pretty=oneline //一行内显示: 提交id 提交注释
按提交历史回退:
$ git reset --hard HEAD //将当前的版本回退到最新;
$ git reset --hard HEAD[^|~]n //将当前的版本回退到倒数第n次提交;
$ git reset --hard commitID //将当前的版本回退到某次提交commitID,将会彻底删除commitID之后所做的改动。
$ git reset --soft commitID //将当前的版本回退到某次提交commitID,只删除commitID之后的提交记录log,代码的改动还在。

忽略文件

1
2
//有时.gitignore考虑不全,后期如果有不该提交的文件已经提交后,仅仅在.gitignore中加入忽略是不行的,还需要执行如下命令删除仓库中需要忽略的文件:
$ git rm -r --cached filename

问题

带空格目录

git命令,进入带有空格的目录名?

1、将Program Files目录用引号引起来。

1
$ cd "Program Files"

2、将空格处使用空格引号

1
$ cd Program" "Files
坚持原创技术分享,您的支持将鼓励我继续创作!