linux下尝试输入 git 命令,看看当前有没有安装git。
git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
如果没有安装 linux会提示安装方法。
windows安装很简单,点这里官网下载Git。
下载之后按默认安装就可以。
安装完成后,还需要最后一步设置,在命令行输入(win/ios/linux通用):
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱地址"
仓库内所有文件都归git管理。
进入要作为仓库的文件夹下(win/ios/linux通用),使用命令:
git init
使用成功后这个当前文件夹就成为了git的仓库,同时会生成一个 .git 的隐藏文件夹(是git的版本库,不要删掉!)和svn的 .svn 类似。
首先你得在仓库里创建一个文件,编辑点内容,然后使用命令:
git add 文件全名(如:aaa.txt)
git commit -m “提交的信息(必填)”
在commit之前可以使用若干次add命令,每一次add的文件就是你将要提交的文件;
提交后如下:
如果不知道回退到哪个版本可以先使用 git log
命令来查看日志;
如下,红色框住的是版本号 每个版本的唯一id。
可以通过版本号id来回退版本,通过命令:
$ git reset --hard c61d0549(c61d0549是版本id的前几位即可,但是不能太短因为Git可能会找到多个版本号,就无法确定是哪一个了。)
HEAD:用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
我吧代码回滚到第一次提交,看看前后效果:
想要撤销当前工作区文件的修改,使用命令:git checkout -- aaa.txt(注意‘--’ 千万不要漏掉)
来把这个文件回归到最近一次提交的版本;
如下:
GitHub官网上申请个账号
设置一个公钥:查看本机ssh公钥,生成公钥(这是csdn的一篇博客,很详细这里直接引用,就不写了)
申请之后进入主页,点击绿色 new 新建一个仓库。
给仓库起个名字,然后勾选 Initialize this repository with a README 选项,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件:
远程库创建好了,现在把它克隆到本地
点击 clone or download 出来一个路径 复制它
git clone 刚才复制的路径
还需要输入你注册的账户名和密码,来拉取代码;
如下:
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但ssh协议速度最快。
利用上面的提交指令提交一个新文件,然后需要push到远程库,使用命令:
git push origin
然后输入用户名密码
查看分支:git branch
创建分支:git branch
切换分支:git checkout
或者git switch
创建+切换分支:git checkout -b
或者git switch -c
合并某分支到当前分支:git merge
删除分支:git branch -d
实例:
从创建分支 – 合并删除分支
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep
$ cd testRep
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git checkout -b dev
Switched to a new branch 'dev'
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git branch
* dev
master
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ ls
README.md test.html
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git add test.html
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git commit -m "第一次修改文件"
[dev 9c93020] 第一次修改文件
1 file changed, 1 insertion(+), 1 deletion(-)
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git merge dev
Already up to date.
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git branch
* dev
master
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git merge dev
Already up to date.
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ it branch -d dev
bash: it: command not found
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (dev)
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git merge dev
Updating 1fd7f21..9c93020
Fast-forward
test.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git branch -d dev
Deleted branch dev (was 9c93020).
Administrator@HXT-20200226RXE MINGW64 /e/data/work/work/testRep/testRep (master)
$ git branch
* master
git remote -v
;git push origin branch-name
,如果推送失败,先用git pull抓取远程的新提交;git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致;git branch --set-upstream-to=origin/branch-name branch-name
;git pull
,如果有冲突,要先处理冲突。简介:标签就是版本id(commit id)的别名 比如 12bcdr... >> v1.2
git tag
git tag v1.0
git tag v1.0 884fc6
git show
可以看到说明文字:git push origin
可以推送一个本地标签;git push origin --tags
可以推送全部未推送过的本地标签;git tag -d
可以删除一个本地标签;git push origin :refs/tags/
可以删除一个远程标签。idea是可以图形化的将git,file > new > project from version control > git 克隆一个仓库
之后会有一个弹窗,url是仓库地址,directory是本地地址,然后点击clone
这些操作就相当于 git clone … 之后会让你输入账号密码。
选中项目名右击 > git > repository > branches… 设置分支(正常我们是不会在master上工作的,所以得拉取分支)
然后选择分支(你工作的分支)> checkout as
本地命名,最好和服务器一致。
点击ok之后分支就是dev了 然后编辑点文件提交,点击对勾,勾选你要提交的文件,.idea里面的文件别提!!!!去网上查一查idea提交过滤
所以还需要一步,是什么?想一想。。。
想一下git push origin dev
指令的意思^ _ ^
答案是:从本地推送分支,这也是和svn不一样的地方,你commit是成功了,但是是提交到你本地的git服务,你得同步到远程才可以真正提交上去,git push origin dev
就是推送命令,下面是idea版的。
路径:右击项目名 > git > repository > push 就ok了
会弹出提示,点击push。
来看一下效果:
现在是一致的了!
End
Git初步学习到此结束,还有很多功能需要探索,如果觉得有用点个赞,如果写的有问题欢迎纠正^ _ ^