git安装教程与基本操作

来源:互联网 发布:技嘉主板控制软件 编辑:程序博客网 时间:2024/06/04 19:14

windows平台git简易安装与基本操作


参考自龙恩0707的博客

安装

  1. 进入git官网下载需要的版本。
  2. 下载完成后运行程序,安装过程均选择默认,安装路径可视情况更改,建议设置到无中文无空格目录。
  3. 安装完成后win+R运行cmd进入命令提示符,输入git显示如下,则安装成功。
    截图20170518194549.png
  4. 在开始菜单中找到git->git bash,点击后弹出下面的窗口,
    截图20170518195146.png
  5. 因为git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。在命令行输入:
    • git config –global user.name “你的用户名(如:L_zhoutao)”
    • git config –global user.email “你的邮箱(如:1217396582@qq.com)”

到这里就可以正常的使用git了。

基本操作

创建版本库

版本库就是一个存放文件的仓库或者说目录,可以管理每个文件的修改,删除,还原。

  • 通过命令git init把目录变成可管理的仓库,自动生成一个.git文件,该目录是用来跟踪管理版本的。
  • 把文件添加到版本库中,版本控制系统只能跟踪文本文件的改动,如程序代码,txt文件。图片视频这种的则无法跟踪变化。
  • git add 文件名 ->将文件添加到暂存区。
  • git commit -m “提交注释” ->把文件提交到仓库。
  • git status ->查看状态以及是否有文件未提交,每进行一个操作都可以随时查看。

版本回退

  • git log ->查看历史提交记录。
  • git reset –hard HEAD^ ->回退到上一个版本
  • git reset –hard HEAD^^ ->回退到上上个版本
  • git reset –hard HEAD~100 ->回退到前100个版本
  • git reflog ->获取版本号,然后git reset –hard 版本号 ->回退到具体某个版本。

工作区与版本库

工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

撤销修改和删除文件

在未提交以前发现内容有误想恢复以前的版本,有以下方法:

  1. 手动删除需要去掉的文件,然后add并commit。
  2. 使用git reset –hard HEAD^恢复到上一个版本。
  3. git checkout – 文件名 ->把文件在工作区做的修改全部撤销。

删除文件:rm 文件名,然后commit。

远程仓库

注册GitHub账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要以下设置:

  1. 创建SHH Key:打开命令行,输入命令ssh-keygen -t rsa –C “邮箱地址youremail@example.com”,有两个文件:id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
  2. 登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。点击Add Key。

添加远程库:

在本地创建了一个Git仓库后,又在github创建一个Git仓库,并且让这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。

  1. 在GitHub上创建一个新的仓库。
  2. 在本地对应的仓库下运行命令 git remote add origin https://github.com/zt1217396582/testgit.git (网址为你自己相应的)
  3. git push -u origin master ->把本地仓库master分支内容推送到GitHub仓库中。 后续只需要使用git push origin master提交修改。

远程库克隆:

git clone https://github.com/zt1217396582/testgit

创建与合并分支

在版本回退里,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。master分支叫主分支,。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。

  1. 创建分支:git branch dev
  2. 切换分支:git checkout dev
  3. 合并分支:git merge dev
  4. 创建+切换分支:git checkout –b dev
  5. 删除分支:git branch –d dev

分支策略:首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。

另外,Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<

BUG分支

在开发中,会经常碰到bug问题,那么有了bug就需要修复,在Git中,分支是很强大的,每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分支删除掉。

比如我在开发中接到一个404 bug时候,我们可以创建一个404分支来修复它,但是,当前的dev分支上的工作还没有提交。并不是我不想提交,而是工作进行到一半时候,我们还无法提交,比如我这个分支bug要2天完成,但是我issue-404 bug需要5个小时内完成。怎么办呢?还好,Git还提供了一个stash功能,可以把当前工作现场 ”隐藏起来”,等以后恢复现场后继续工作。

具体步骤:

  1. 将当前的工作现场隐藏起来:git stash
  2. 查看状态是否干净:git status
  3. 在master分支上创建临时分支issue-404:git checkout -b issue-404
  4. 将文件修改以后提交: git add readme.txt和git commit -m “fix bug 404”
  5. 切换到master分支:git checkout master
  6. 合并分支issue-404:git merge –no-ff -m “merge bug fix 404” issue-404
  7. 查看内容:cat readme.txt
  8. 和issue-404一致以后,删除临时分支issue-404:git branch -d issue-404
  9. 回到dev分支上:git checkout dev
  10. 查看工作现场:git stash list
  11. 恢复工作现场:git stash apply

多人协作

推送分支:git push origin master

一般情况下,master主分支要时刻与远程同步。一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。

抓取分支:

  • 在另一台电脑上克隆远程库到本地来:git clone https://github.com/zt1217396582/testgit
  • 两台电脑同时对同样的文件进行修改然后推送,推送到远程库是发生错误。
  • 抓取最新的提交:git pull
  • 合并有冲突的话需要手动解决,和分支管理中的解决方式一样。
  • 然后提交并推送到远程库中。

因此,多人协作工作模式一般是这样的:

  1. 首先,可以试图用git push origin branch-name推送自己的修改.
  2. 如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
  3. 如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送。

常用命令

  1. mkdir XX (创建一个空目录 XX为目录名)
  2. pwd (显示当前路径)
  3. cd X:(转到某个磁盘 X为磁盘名)
  4. cd XXX (转到某个路径 XXX为文件夹名) 其实直接在想要创建版本库的文件夹目录中右键选择git bash,弹出的git就会是你想要的路径。
  5. git init (把当前的目录变成可以管理的git仓库,生成隐藏.git文件)
  6. git add XX (把XX文件添加到暂存区 以下XX文件均带有后缀,如txt等) 暂存区顾名思义就是暂时存放你想要提交的文件的地方。
  7. git commit -m “XX” (提交暂存区中的文件, XX为提交注释)
  8. git status (查看仓库状态) 确认暂存区是否还有未提交的更改。
  9. git diff XX (查看XX文件修改了哪些内容)
  10. git log (查看提交的历史记录)
  11. git reset -hard HEAD^git reset -hard HEAD~ (退回到上一个版本) 如果想回退到100个版本,使用 git reset -hard HEAD~100.
  12. cat XX (查看XX文件的内容)
  13. git reflog (查看历史记录的版本号ID)
  14. git rm XX (删除XX文件)
  15. git remote add origin https://github.com/zt1217396582/testgit (关联一个远程库)
  16. git push -u origin master (把当前master分支推送到远程库 仅第一次需要-u)
  17. git clone https://github.com/zt1217396582/testgit (从远程库中克隆到本地 路径为当前git的路径)
  18. git branch name (创建name分支)
  19. git checkout -b dev (创建dev分支并切换到dev分支)
  20. git branch (查看当前所有的分支)
  21. git checkout master (切换回master分支)
  22. git merge dev (在当前的分支上合并dev分支)
  23. git branch -d dev(删除dev分支)
  24. git stash (把当前的工作隐藏起来 等以后恢复现场后继续工作)
  25. git stash list (查看所有被隐藏的工作现场/文件列表)
  26. git stash apply (恢复被隐藏的工作现场,但内容不删除)
  27. git stash drop (删除工作现场)
  28. git stash pop (恢复工作现场的同时 也删除工作现场)
  29. git remote (查看远程库的信息)
  30. git remote –v (查看远程库的详细信息)

2017/5/20 21:24:34

原创粉丝点击