git的重要命令
git init 初始化仓库
版本控制信息放在.git文件夹,删除来会丢失所有的git控制信息;
git status 查看工作区的状态信息
git clone 远程版本库复制一份到本地
------------版本管理
git add 把当前已经修改的文件纳入到缓存区中 回退指令(git rm —cached file)
git commit 把缓存区的文件,提交到版本库
commit id 是一个随机字符串,多人分布式的时候保证不重复;是一个摘要值,是sha1计算出来的;不可逆的加密,类似md5 ;
user.name user.email 有三个地方可以设置值:
1), /etc/gitconfig 基本不使用; git config —system
2),~/.gitconfig 很常用 git config —global
3),针对特定项目的,是当前工作区的 .git/config文件中 ; git config —local
git config —global user.name ‘lifuchun’
git config —global user.email ‘lifuchu’
linux下命令行:
ctrl + A 光标移动到最前
ctrl+ E 光标移动到最后
git checkout — file 丢弃工作区的修改
git rm 删除版本库中特定的文件,可以回退
== rm + git add
1,删除了一个文件;
2,删除到文件纳入到了缓存区;
回退操作:git reset HEAD file + git checkout — file
把修改从缓存区放回工作区;git rest HEAD file
从工作区恢复文件; git checkout — file
提交: 即可在版本库中保存提交动作;
rm 把文件从工作区删除掉,并没有纳入暂存区;
恢复: 直接 git checkout — file
重命名: git mv a.filename b.filename
== mv + git add
修改 commit的内容描述 git commit —amend -m ‘修复之后描述'
git help comand 查看帮助信息
git command —help
man command
---------------------
git log 查看提交日志
git log -n 查看最近几条日志
git log —stat 统计方式显示日志
git diff 比较文件在不同状态下的差别
--------- 远程协作
git pull 远程版本库的文件拉到本地
git push 推送本地版本库到远程服务器
.gitignore 与分支
.gitignore
加入到里面的文件会忽略git追踪;
*.xxx
!*.yyy
/x.file 忽略根目录下的某文件
/*/x.file 忽略跟目录的字目录下的某文件
/**/x.file 忽略所有目录下的某文件
doc/ 忽略改目录下的所有文件
java 必须需要提交的文件
a && b linux上连续执行两条命宁;
分支: git branch 显示所有的分支
git branch xxxx 新建分支 基于所在的分支进行copy
git checkout xxx 切换分支
git checkout - 切换回上一个分支