Git基础操作总结
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。
在安装后第一步配置个人信息
$ git config --global user.name 'yourname' $ git config --global user.email 'youremail@xx.com'
要检查已有配置信息,可以使用 git config --list 。
创建仓库,若将当前目录作为仓库,只需输入 git init 初始化仓库,文件夹下会生成一个.git文件,里面放置版本库,可以输入ls -a查看文件。
如果要指定目录作为仓库,需要输入 git init newrepo ,
Git 中有工作区,暂存区和版本库的概念,
将文件从工作区添加到暂存区,使用的语句是 git add <file.name> ,
从暂存区把文件提交的版本库的语句是 git commit -m ‘提交说明’ ,可以多次修改添加到暂存区,最后一次提交到版本库。
git status 用于时刻掌握文件当前状况,并且有相应的操作提示,
git diff 查看工作区文件与版本库文件的不同之处。
关于版本回退,每一次提交会有唯一的 commit-id ,可以使用 git reset --hard <commit-id> 回退到某一提交版本,
使用 git log 查看最近到最远的提交日志,可以查看到 commit-id ,
如果回退后想回到回退前版本, git log 就无法查看到前面的 commit-id ,这时可以用 git reflog 语句查看每一次操作的记录,找回之前的 commit-id ,就能实现重新回退。
另一种方法,如果明确自己要向前回退几个版本,只需特定语句实现, HEAD 表示当前的最新的版本, HEAD^ 表示当前版本的前一个版本,
使用 git reset --hard HEAD^ 就是回退前一个版本, git reset --hard HEAD^^ 就是回退前俩个版本,以此类推。
但当回退到前100个版本,可以使用 git reset --hard HEAD~100 来实现。
关于撤销操作,当你改乱工作区的文件,需要撤销操作时, git checkout --readme.txt ,该语句将指定文件重置为最近一次 git commit 或 git add 时的状态。
当你改乱文件并添加到暂存区时,使用 git reset HEAD readme.txt ,将文件重置为当前版本库的状态,重新修改然后 git add ,
如果被改乱的文件已经被提交到版本库中,(还未被推送到远程库)可以使用版本回退 git reset --hard HEAD^ .
关于删除文件,使用 git rm readme.txt 删除工作区文件并删除暂存区, git commit -m ‘提交说明’ 提交删除版本库中的文件。
如果误删工作区文件, git checkout --readme.txt 找回文件即可。
关于远程仓库,输入 ssh-keyge -t rsa -C ‘youremail@xx.com’ ,一直回车,按默认建立密钥文件,讲公钥添加到github上,建立关联。
在Git中输入 git remote add arigin git@github.com: yourname/xxx.git ,将本地仓库与远程仓库建立关联,
在关联后,就可以把本地的版本推送到github远程仓库上了,第一次推送时,使用 git push -u origin master ,第一次会要你确认身份,之后就没有了,
在之后只需 git push origin master 就可以推送到远程仓库。
事实上,最后先创建远程库,然后克隆到本地库中,在GitHub上新建一个仓,在git下 git clone git@github:yourname/xx.git ,git支持多种传输协议,但ssh协议比较快。
关于分支管理,有俩种方式 git checkout -b dev 和 git switch -c dev 这俩种都是创建一个新分支并切换到新分支上,
创建一个新分支的语句是 git branch dev ,而切换分支的语句有俩种 git checkout dev 或者 git switch dev 。
通过 git branch 可以查看全部分支,带 * 号的是当前所在分支。
分支合并, git merge dev 合并指定分支到当前分支, git branch -d dev 删除分支, git merge --no-ff -m ‘合并描述’ 禁止前进模式合并分支。
关于标签管理,使用 git tag 查看所有标签,使用 git tag <name> 可以打一个标签,默认标签是打在最新提交的commit上的,
也可以指定 commit-id 打标签,输入 git tag <name> <commit-id> ,标签不是按时间顺序排列,而是按字母排序,可以用 git show <tagname> 查看标签信息。
也可以在创建标签时加上说明 git tag -a <name> -m '标签说明' <commit-id> 。
git push origin <tagname> 推送一个标签到远程库, git push origin --tags 推送全部未推送过的标签到远程库
git tag -d <tagname> 删除一个本地标签, git push origin :refs/tags/<tagname> 可以删除一个远程标签,地址参照格式。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号