Git使用教程

版本控制工具,开发必备的知识

生成密钥

1
ssh-keygen.exe

登录

1
2
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

提交到版本库

  • Git添加文件需要add,commit一共两步
  • 可以一次提交很多文件,所以你可以多次add不同的文件
1
2
3
git add file1.txt
git add file2.txt file3.txt
git commit -m "add 3 files."
  • git add -A:提交所有修改过的文件
  • git commit -a -m "写你想说的内容":提交所有add后的文件

推送拉取内容

  • git push:推送到远程仓库
  • git pull:拉取远程仓库内容
  • git fetch -a:拉取所以远程分支代码

其他常用命令

  • git init:把当前所在的目录变成Git可以管理的仓库
  • git status:修改文件后查看文件结果/查看工作区的状态,查看文件具体被修改的内容
  • git log:查看修改的文件记录(从最近到最远)(如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数)
  • git reflog:当前版本返回上个版本
  • git checkout -- (file):撤销修改(文件没放到暂存区)
  • git reset HEAD <file>:撤销修改(文件放到暂存区)
  • git rm <file>:从版本库中删除该文件

更新被拒绝解决方法

  • git fetch origin:获取远程更新
  • git merge origin/master:把更新的内容合并到本地分支

分支操作

  • git branch:查看分支
  • git branch <name>:创建分支
  • git checkout <name>:切换分支
  • git checkout -b <name>:创建+切换分支
  • git merge <name>:合并某分支到当前分支
  • git branch -d <name>:删除分支
  • git log --graph:查看分支合并图

标签操作

  • git tag <tagname>:用于新建一个标签,默认为HEAD,也可以指定一个commit id
  • git tag -a <tagname> -m "写你想说的":可以指定标签信息
  • git tag:可以查看所有标签
  • git push origin <tagname>:可以推送一个本地标签
  • git push origin --tags:可以推送全部未推送过的本地标签
  • git tag -d <tagname>:可以删除一个本地标签
  • git push origin :refs/tags/ <tagname>:可以删除一个远程标签
  • .gitignore文件:忽略某些文件不需要上传时编写

.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

解决每次提交需要输入密码

  • C:\Users\Administrator 的目录下,找到一个.gitconfig的文件里面有自己的用户名和密码然后再用户名和密码下面添加
1
2
[credential]
helper = store

清除远程仓库无用文件

git rm -r –cached 文件/文件夹
git commit -m -a ‘1’
git push

Git分支操作

强制覆盖远程

git push -f origin

一个分支强制覆盖某分支

1
2
3
4
5
6
# 假设当前位于master分支
git checkout test
# test分支重置为master分支
git reset --hard master
# 将重置后的test分支强制推送到远程仓库
git push origin test -f

版本回滚

已经push后的版本回滚

1
2
# 查看提交日志,请求头
git reflog

git回滚reflog命令

1
2
3
4
git reset --hard head头

# 强制推送
git push -f origin master

相关文章

正则表达式

简单的网络知识

HTTP

GitHub搜索技巧