git学习总结

来源:互联网 发布:北大青鸟软件学校 编辑:程序博客网 时间:2024/06/03 16:24
今天折腾了半天,总算有点收获了。
git下载:https://git-scm.com/downloads
windows下的git界面工具TortoiseGit下载:https://tortoisegit.org/download/
以linux为例进行说明吧(TortoiseGit应该是将git命令封装为可视化点击操作了):
1、初始化git目录
$ git init
这个命令就是在当前目录新建了.git目录,如果对里面的文件感兴趣请自行谷歌
2、配置用户信息
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"
第一次使用git init好像有个安全提醒,如果操作不能成功,请尝试步骤2的配置用户信息命令
3、添加文件到stage
$ git add readme.txt
请注意git add命令并不会创建文件,请先通过vim或者touch生成文件。该命令将readme.txt文件保存到stage(暂存区),网上都说暂存区是git跟svn的一个区别,但是我在windows上发现stage的功能似乎和svn的增加功能一样,文件的图标都是蓝色的加号。
4、提交
$ git commit -m "add readme.txt"
git的提交流程必须先通过git add添加到stage,再通过git commit提交到版本库。没有通过git add提交到stage的文件,在执行git commit后不会提交到版本库。每次commit都必须填写注释,-m参数表示提交时带上注释,避免单独使用git commit时弹出提示再填写注释。TortoiseGit的提交操作应该是封装了git add和git commit,所以用户感觉不到git add。
5、查看状态
$ git status
这个命令实在太有用了,没问题的时候一般提示:
# On branch masternothing to commit, working directory clean
如果不是以上提示,那可能需要按照提示进行相关操作,例如用rm命令删除了版本库的b.txt文件,查看状态时会提示:
# On branch master# Changes not staged for commit:#   (use "git add/rm <file>..." to update what will be committed)#   (use "git checkout -- <file>..." to discard changes in working directory)##deleted:    b.txt#no changes added to commit (use "git add" and/or "git commit -a")
这时候要根据提示从版本库中删除或者恢复b.txt文件
6、比较差异
$ git diff
这命令没什么好说的,而且我也说不清楚。显示的内容我基本看不懂-_-!
7、撤销修改
$ git checkout -- <filename or Directory>
在删除,修改文件后,想要恢复的话,以readme.txt为例:
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
如果没有--,该命令变成”切换到另一个分支“。
8、删除文件
$ git rm
该命令删除文件后,需要执行git commit提交到版本库,要想还原的话,得在git commit前执行git checkout -- <filename>
9、远程仓库
$ git remote
这是我今天的重点和难点了,网上搜到的资料大部分是讲解如何使用GitHub仓库。我需要的是将本地仓库搭建成远程仓库,供其他机器访问,当然最后还是从网上找到了:)
服务器ip为192.168.185.210,我的git目录为/home/wuzx/git,root账户登录
首先创建远程仓库
$ git remote add origin ssh://root@192.168.185.210/home/wuzx/git/.git$ git push origin master
第一个命令,git remote add是添加远程仓库,origin是别名,ssh是服务器连接方式,root是登录账号,192.168.185.210是服务器ip,/home/wuzx/git/.git是.git版本控制目录的绝对路径
第二个命令是将本地master推送到origin仓库,这样其他机器访问远程仓库时就可以获取到本地master的内容
注意在成功执行git remote add后,会提示输入root账号的ssh登录密码(有个记住密码的策略我还没研究)
其他服务器拉取该远程仓库的命令为:
$ git clone ssh://root@192.168.185.210/home/wuzx/git/.git ./

该命令将远程仓库克隆到当前目录,注意这里同样需要输入密码。


懂这么点差不多可以尝试使用git了:)

1 0