1、创建版本库:
git init
2、提交文件:
//将文件提交到暂存区
git add 文件名
//将暂存区内容提交到当前分支
git commit -m "提交描述"
3、查看历史记录:
//查看历史记录
git log
//单行显示历史记录,界面更友好
git log --pretty=oneline
git log --graph
4、回退:
//将head指向指定的记录,同时将工作区更新为最新的
git reset --hard "commit id"
//查看历史操作记录
git reflog
5、工作区与暂存区:
工作区:电脑看到的目录。
版本库:.git目录。
暂存区:stage
git add指令是将文件修改提交到暂存区,用commit指令将暂存区内容一次提交到分支。
6、查看当前目录git状态:
//查看当前目录git状态
git status
//在提交到缓存区之前,可以用git diff查看修改的详细内容
git diff "filename"
7、git管理的是修改而不是文件。
每次修改如果不add到暂存区,是不会被commit到分支中的。
8、撤销修改:
//撤销修改(撤销工作区)
//1)修改后未add至暂存区,执行此指令,会取消工作区的修改
//2)修改后add至缓存区,又做了修改,执行此指令,会取消后一次的修改,缓存区文件仍然在。
git checkout -- "filename"
//撤销修改(撤销缓存区)
git reset head "filename"
9、删除文件:
//删除动作提交至缓存区
git rm "filename"
10、github的使用:
1)注册github。
2)配置sshkey,用git指令输入ssh-keygen -t rsa -C "youremail@example.com",在c盘->用户->自己的用户名->.ssh目录下有id_rsa.pub,文本贴到github中的sshkey中。
github识别到公钥后,可以确认身份。
3)开源项目,点击fork就可以在自己的账号下克隆出来。然后从自己账号下clone,这样就有权限提交修改了。
4)git clone https://github.com/wee616/learnGit.git 从远程库克隆到本地。
11、本地项目关联到远程:
1)添加远程库,在GitHub中new一个
2)将本地工程关联到远程并推送
git remote add origin https://github.com/wee616/learnGit.git 关联远程库
git push -u origin master 将本地代码推送到远程
以后每次推送到远程,执行git push origin master 即可
12、分支管理:
//创建一个名为dev的分支,并切换到此分支
git checkout -b dev
//切换到名为branchname的分支
git checkout "branchname"
//查看分支
git branch
//创建名为branchname的分支
git branch "branchname"
//删除分支
git branch -d "branchname"
//合并当前分支
git merge dev
13、标签:
//tag是版本库的快照,实际是指向某个commit的指针,tag是不可移动的
//用于创建新的tag,默认head,可以指定commit id
git tag <name>
//查看所有标签
git tag
//"描述" 创建带描述的标签
git tag -a <tgname> -m
//推送本地标签
git push origin <tgname>
//删除本地标签
git tag -d <tgname>
14、忽略特殊文件:
新建.gitignore文件,将需要忽略的文件名添加进去
gitignore可以配置规则,如果想强制添加某个文件到git,可以用git add -f <filename>
可以用git check-ignore -v <filename> 校验是哪个规则在起作用。
.gitignore文件需要放到版本库中。
15、给指令配置别名:
git config --global alias.st status 意思是用st代替status
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"