赞
踩
$ git congig -l 当前项目下关于git的所有配置
$ git config --system --list # 查看系统config
$ git config --global --list # 查看当前用户(global)配置
【设置全局用户和邮箱*】
$ git config --global user.name "JUJI"
$ git config --global user.email "1581643513@qq.com"
【git工作流程】
git工作区(本地磁盘目录)、暂存区(虚拟仓库—在本地磁盘创建)、远程仓库(码农上的仓库)
git的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
# 在当前目录新建一个Git代码库
# 在本地进行初始化(建立暂存区)
# 产生.git文件(文件存储当前项目的所有版本信息)
$ git init
# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
文件的四种状态
# 查看指定文件状态
$ git status [filename]
# 查看所有文件状态
$ git status
# Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区
# 还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
# 添加指定文件到暂存区
$ git add [filename]
# 添加所有文件到暂存区
$ git add *
$ git add .
# 提交暂存区中的内容到本地仓库 -m 提交信息
$ git commit --m "这一次提交的描述"
# 直接从暂存区删除文件,工作区则不做出改变 $ git rm --cached <file> # 通过重写目录树移除add文件,如果已经用add 命令把文件加入stage了,就先需要从stage中撤销 $ git reset HEAD <file> $ git reset --hard HEAD^ # 退回到上个版本,如果需要退回好多版本就在后面加上^ $ git reset --hard HEAD^^ # 退回两个版本 $ git reset --hard 版本号 # 恢复文件到指定的某一个版本 # 移除所有未跟踪文件 # 一般会加上参数-df,-d表示包含目录,-f表示强制清除。 $ git clean [options] # 只从stage(暂存)中删除,保留物理文件 $ git rm --cached readme.txt # 不但从stage(暂存)中删除,同时删除物理文件 $ git rm readme.txt # 把a.txt改名为b.txt $ git mv a.txt b.txt
# 查看文件修改后的差异 ---a表示修改之前的文件,+++b表示修改后的文件
$ git diff [files]
# 比较暂存区的文件与之前已经提交过的文件
$ git diff --cached
# 比较repo与工作空间中的文件差异
$ git diff HEAD~n
# 从暂存区将文件恢复到工作区(恢复到修改文件之前)
# 假如你做错事,你可以使用如下命令替换掉本地改动:
$ git checkout [filename]
# 查看已经提交到暂存区的历史版本
$ git log
忽略文件
有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立".gitignore"文件,此文件有如下规则:
- 忽略文件中的空行或以井号(#)开始的行将会被忽略。
- 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
- 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
- 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
- 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释 *.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中! !lib.txt #但lib.txt除外 /temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp build/ #忽略build/目录下的所有文件 doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
- 1
- 2
- 3
- 4
- 5
- 6
# 生成ssh密匙,设置本机绑定SSH公钥,实现免密码登录
$ ssh-keygen -t rsa -C "1581643513@qq.com"
# 查看公钥
$ cat ~/.ssh/id_rsa.pub
$ git remote add origin https://gitee.com/ju_ji/se20_18200135224.git
$ git push -u origin master
$ git pull --rebase origin master
$ git push -f origin master # 一般第一次提交使用强制push
# 【注】提交过程中,可能需要你输入用户名,密码
# 从远程仓库,克隆项目到本地————克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]
$ git clone https://gitee.com/ju_ji/se20_18200135224.git
$ git pull 从远程仓库同步本地代码(更新)
# 列出所有本地分支 $ git branch # 列出所有远程分支 $ git branch -r # 新建一个分支,但依然停留在当前分支 $ git branch [branch-name] # 新建一个分支,并切换到该分支 $ git checkout -b [branch] # 合并指定分支到当前分支 $ git merge [branch] # 删除分支 $ git branch -d [branch-name] # 删除远程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch]
$ git add *
$ git commit -m "提交描述"
$ git status
$ git push
# 一般git流程 # 1.初始化本地git仓库 $ git init # 2.添加文件到本地git仓库 $ git add . # 3.提交到本地git仓库 $ git commit -m "" # 4.添加远程git仓库地址 $ git remote add origin https://gitee.com/ju_ji/se20_18200135224.git # 5.先pull获取git仓库更新本地 $ git pull origin master $ git pull --rebase origin master # 6.再push本地git仓库更新远程 $ git push -u origin master # 7.结束 # 注意: # 1.如果,第一次新建的git远程仓库,建议强制push; $ git push -f origin master # 2.如果add远程git仓库地址,已经存在,并且不正确,可以remove,再添加;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。