Git使用过程

Git-------目前世界上最先进的分布式版本控制系统(没有之一)

什么是版本控制系统?

  说简单点,就是一个文件,对其增加、删除、修改都可以被记录下来,不仅自己可以修改,其他人也可以进行修改

  每次对文件的改动后,包含的记录项类似:

    版本--也就是文件改动的次数  改动的文件依然存在 ,类似文件的副本

     用户--改动文件的人

    说明---文件被改动的位置

     时间---文件被修改的时间

安装Git

  Windows系统 git链接:https://git-for-windows.github.io/

  安装很简单,直接下一步------下一步即可完成安装

  安装完成后,在开始菜单-->Git-->git bash打开命令行工具 ,弹出这样的窗口,太棒了,完成安装操作 

  完成安装后,需要设置用户信息

  用户名 : $ git config --global  user.name ‘ your name‘

  邮箱 :    $ git config --global  user.email   ‘email‘   

创建版本库(repository)

  mkdir   leargit    ----创建一个版本库,也就是一个目录,在这个目录下存放所有的文件,对所有文件的操作都会被git记录下来

  cd   leargit   ----去往leargit这个目录下

  pwd-----查看当前所在目录

初始化git仓库

   $ git init   ----初始化这个目录,变成git可以管理的仓库  ,这样git仓库就创建好了

   查看当前目录,会发现leargit目录下,会存在一个.git目录,这个目录是用来管理跟踪版本库的

添加文件到git仓库

  不要使用windowns自带的记事本白年纪你文件,建议使用Notepad++http://notepad-plus-plus.org/,功能强大

  1)添加文件到库

    首先回到learngit目录下   cd learngit

    添加文件  $  git add readme.txt   (可反复使用)

  2)接着,用git commit命令告诉git,提交文件到库

    $ git commit  -m "write a readme.txt"

    -m:后面的文字是本次提交文件的说明,可以输入任意内容,但最好是有意义的

 注意:commit可以一次提交多个文件,所以add一次可以添加多个文件  eg:$  git add 1.txt 2.txt...$ git commit -m "add two files"

修改文件

  修改文件玩和提交文件是一样的步骤 

常用的命令

  git status----查看仓库当前的状态(文件是否被修改和提交)

  git diff------查看文件中被修改的位置,以及位置上对应的内容

版本回退

  git log-----查看文件提交的历史记录,确定要回到哪一个版本

  git reset --hard  --回到上面的版本

     head---表示当前版本 也就是最新的提交(必须知道才能进行返回)  head^--表示上一个版本

     head^^----表示上上一个版本  head~n-----返回上n个版本

  git reflog---记录每一次的命令,方便用于当你回到某个版本后,再想恢复到现在的版本,就必须找到现在版本的id

    即回到未来的某个版本

管理修改

  如果每次修改完成后,不使用add 命令添加到暂存区,就不会被commit提交到git仓库

撤销修改  

  场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

  场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,

  分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

删除文件

  $ git rm 1.txt 

  一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit 

  另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

    $ git checkout -- file

  git checkout ---实际就是用版本库里的版本替换工作区的版本,无论工作区是删除的还是修改的,都可以‘一键还原’

远程仓库

  由于git仓库和github仓库之间的传输是通过ssh加密的,所以需进行一下操作:    

  第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,

  如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "[email protected]"  如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,  这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

  第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

  GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,    就可以在每台电脑上往GitHub推送了添加远程库   要关联一个远程库,使用命令git remote add origin [email protected]:path/repo-name.git

    关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

    此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

克隆远程库

  要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

  
时间: 2024-12-22 15:16:17

Git使用过程的相关文章

SVN迁移到Git的过程(+ 一些技巧)

SVN迁移到Git的过程(+ 一些技巧) 李顺利 Key Words SVN,Git,Clone,Conversion,Tips,VCS,Pro Git 关于在VCS中SVN和Git之间的迁移(Clone)这个部分网上已经有大批的文章介绍,而且都非常不错,能够满足我们的常见的需求,这里介绍的是我自己整理的一些技巧和使用中出现的一些问题和疑问. 阅读本篇文章,请先有一些Git和SVN的使用经验(又是经验,经验到底是什么?我都不知道). 第一部分   今天的实验对象是,把 http://code.g

从0到1,本地到远程git程序过程

从0到1,本地到远程git程序过程 切记一定要在需要提交代码的文件夹下git init,既是你使用了什么 tortoisegit什么工具,或者你在idea环境下已经add了,但是仍然需要你在当前文件夹下右击git bash here,前提是你不需要idea来给你提交到仓库或者,idea的仓库需要更换,不适用了. 当git init 后,可以发现文件夹下出现了.git的隐藏文件,然后可以git status查看当前文件夹的内容: 查看完成后,如果需要提交单个或者多个文件时候使用git add 文件

git提交过程中遇到的 index.lock 问题导致无法提交的解决方法

在提交代码的过程中,可能会遇到下面的问题: fatal: Unable to create 'C:/programLists/zzw-q1/.git/index.lock': File exists. If no other git process is currently running, this probably means a git process crashed in this repository earlier. Make sure no other git process is

windows XP下配置使用Git的过程

上个星期完成git在电脑winxp上的安装,并成功将文件上传到github仓库中.主要参考以下两个网址: http://blog.csdn.net/yanzi1225627/article/details/12859323 http://www.shangxueba.com/jingyan/View.aspx?id=337011 在本人安装成功git后,上传文件到github过程中出现的错误及解决方法: 1.git aborting commit due to empty commit mess

Git提交过程的一些问题

参考:http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html 提交冲突,无法提交到github git pull origin master; #查看冲突的具体原因 git status; #查看冲突的文件 编辑冲突文件 git add . git commit -m 'conflict fixed' git push -u origin master

Git安装过程

双击运行Git-1.7.9-preview20120201.exe程序, 如下图 ? ? 点击Next, 下一步 ? ? 点击Next, 下一步 ? ? 选择安装路径后, 点击Next, 下一步 ? ? 使用默认的组件, 点击Next, 下一步 ? ? 创建开始菜单文件夹, 点击Next, 下一步 ? ? 选择使用Git的命令行模式, 选择默认Git Bash 模式会创建一个快捷命令行, 点击Next下一步. ? ? 选择换行格式, 默认为第一个跨平台样式, 点击Next, 下一步 ? ? ?

Git使用过程中遇到的问题

push本地代码到oscgit时出错 问题原因: 远程仓库和本地仓库冲突导致的,因为我在myeclipse中集成了git插件,但是又使用不熟练,在测试过程中导致了不一致现象的发生. 解决办法: 在push前先将远程仓库修改pull下来: git pull origin master git push -u origin master 删除文件 在首次使用git时,没有控制好.gitignore文件,误将classes目录提交至远程仓库.下面看下如果将该文件夹删除. 解决办法: git rm cl

git 使用过程(四、回退版本)

1.查看修改历史 命令:git log  如果嫌内容太多 可以加参数  --pretty=oneline (图一) 2.回退 命令:git reset --hard HEAD^    HEAD:代表本身版本 ^:一个代表一个上一个版本,2个代表上2个,一次类推,当然100个不可能写100个.写成HEAD~100. (图二) 3.回退之后看看历史,你会发现少了一条记录 和图一对比,这时候你要是后悔了怎么办呢,有办法. 命令:git reset --hard 版本号(见图一)  我的是 d054df

git工作过程

使用git命令有一段时间了,但是一直没明白git的存储原理.花了点时间,简单的观察了下git存储过程. 具体观察步骤:     1.新建一个目录Workspace1, 进入目录后初始化一个git仓库. 输入Workspace1>git int 这时会发现Workspace1中生产了一个.git目录. .git目录中 hooks/     (git命令用到的定制脚本的样例,这里都是关闭状态,除非删除.sample后缀) info/       (附加信息) object       (对象信息,包