0、查看配置信息 git config --list
1、设置用户名:git config --global user.name "xxx"
2、输入邮箱:git config --global user.email "xxx@xxx.com"
设置全局密码:git config --global user.password "xxx"
3、把当前目录变成git仓库:git init
4、将文件添加到仓库:git add filename
5、提交文件:git commit -m '添加了filename文件'
6、查看git提交记录:git log, 美化输出:git log --pretty=oneline
7、查看文件更改详情:git diff filename
8、回退到上一个提交版本:git reset --hard HEAD^
9、回退到指定提交版本(e223为指定版本的commitid前四位):git reset --hard e223
10、查看记录的每一次命令:git reflog
11、撤销更改:git checkout -- filename
12、撤销已add过的更改(暂存区):git reset HEAD filename,然后再撤销更改:git checkout -- filename
13、创建并跳转到分支:git checkout -b dev(相当于:git branch dev + git checkout dev)
14、查看所有分支:git branch
15、跳转到master:git checkout master
16、合并指定分支到当前分支:git merge dev -m '完美合并'(fast-forwad)
git merge --no-ff -m "merge with no-ff" dev(普通合并)
17、删除分支:git branch -d dev
18、查看git合并图:git log --graph
19、保存当前工作现场:git stash
20、查看工作现场列表:git stash list
21、恢复当前工作现场:git stash pop(恢复的同时把stash内容也删了=git stash apply+git stash drop)
22、添加标签:git tag v1.0
23、向指定commitid(f52c633)版本打标签:git tag v0.9 f52c633
24、忽略一些文件不加入版本控制
a, 可以在任意目录创建一个.gitignore文件(我习惯于在项目根目录创建的文件),编辑:
这里,.idea/匹配的是本地idea工具的配置,一般选择忽略,pyc文件是项目运行过程的缓存文件,选择忽略......
b, 执行命令:
git config --global core.excludesfile .gitignore
即生效
我在pycharm中存在之前生成的pyc文件,因为之前已经被track了,所以现在执行上述操作之后,git status查看依然会找到它 们,此时需要执行:
git rm -r --cached *.pyc
git commit -m 'xxxxxx'
git push
这样进行提交后,再运行项目,可以看到再生成的*pyc没有再被track了。
远程仓库(github):
a, 配置公钥: ssh-keygen -t rsa -C "xxxx@xxx.com"
b, 登录github, 在setting->SSH and GPG keys下加入公钥
c, 在github创建项目:myproject
d, 在本地添加远程仓库:git remote add origin git@github.com:xxx/myproject.git
e, 推送本地项目到github:git push -u origin master
f, 从远程服务器克隆项目到本地:git clone git@github.com:xxx/myproject.git
统计命令:
git log --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'
# cmd或git bash显示中文为数字时执行如下配置
git config --global core.quotepath false