(针对本地)
Git的官方网站:http://git-scm.com
2.下载git for windows:https://git-for-windows.github.io/
3.设置用户名和邮箱
git config --global user.name "username"
git config --global user.email "xxx@qq.com"
4.创建版本库
mkdir learngit
cd learngit
pwd
git init
5.从工作区提交到暂存区,从暂存区提交当前版本分支区
(简单理解为三部分,工作区--暂存区--版本分支区[分支互不干扰])
git add <file>
git commit -m <备注>
6.查看版本库当前状态,文件修改内容
git status
git diff <file>
7.查看版本分支
git log [--pretty=oneline]
8.版本回退
(HEAD当前版本,HEAD^上个版本,HEAD^^上上个版本,HEAD~100往上第100个版本)
git reset --hard [HEAD|<commit id>]
9.查看命令历史
git reflog
10.撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考6.版本回退,不过前提是没有推送到远程库。
11.删除文件,commit的文件可恢复
git rm <file>
12.分支操作
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge [--no-ff] <name>
(合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并)
删除分支:git branch -d <name>
分支合并图:git log --graph
13.Bug分支
创建分支进行bug修复,完成合并,删除该分支
保存工作区现场到stash内容:git stash
恢复的同时把stash内容也删了:git stash pop
恢复的同时stash内容并不删除:git stash apply
删除stash内容:git stash drop
14.标签管理
创建标签:git tag <name> [commit id|默认HEAD]
git tag -a v0.1 -m "version 0.1 released" 3628164
查看所有标签:git tag
可以推送一个本地标签:git push origin <tagname>
可以推送全部未推送过的本地标签:git push origin --tags
可以删除一个本地标签:git tag -d <tagname>
可以删除一个远程标签:git push origin :refs/tags/<tagname>
15.忽略特殊文件
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理
所有配置文件可以直接在线浏览:https://github.com/github/gitignore
(针对局域网)
16.连接GitHub
创建SSH Key:ssh-keygen -t rsa -C "youremail@example.com"(默认回车无需密码,在用户主目录生成.ssh文件夹)
登陆GitHub,打开“Account settings”,添加new SSH key(/.ssh/id_rsa.pub内容添加到key)
从远程库克隆,如:git clone https://github.com/miguelgrinberg/flasky.git
17.克隆局域网仓库(windows)
共享局域网仓库,直接访问网络路径(如://DESKTOP-EIR7POG/learngit或者//192.168.1.165/learngit,本机IP为192.168.1.165)
git clone //192.168.1.165/learngit
git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:
[receive]
denyCurrentBranch = ignore
18.搭建局域网仓库(linux)
①下载git
sudo apt-get install git
②root创建git用户
sudo adduser git
③选一目录创建git空仓库(远程仓库)
sudo git init --bare sample.git
④把该仓库拥有者设置成git用户
sudo chown -R git:git sample.git
⑤设置git用户禁用shell登录
sudo nano /etc/passwd
git:x:1001:1001:,,,:/home/git:/bin/bash
改
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
19.本地对远程仓库常用操作
①克隆远程仓库
git clone git@server:/srv/sample.git
②上传本地master分支到远程b1分支(远程分支可有可无)
git push origin master:b1
③本地更新远程仓库数据(两种,多人合作推荐第二种)
第一种:远程master合并到本地master
git pull origin master
第二种:远程所有分支(branch)下载到本地(git branch -a可显示所有分支),通过分析异同,再合并
git fetch origin
git diff [指定分支]
git merge [指定分支]
---------------------
作者:HQ麟
来源:CSDN
原文:https://blog.csdn.net/u014686875/article/details/54952302
版权声明:本文为博主原创文章,转载请附上博文链接!