git使用之第一次总结

前言:对我来说,不知道为什么git使用的非常差,常常不知道打什么命令,所以特地把常用的命令开始做一个总结。从创建本地git到上传项目成功,需要步骤是1-2-4-6


1.初始化本地git

git init

2.全局设置用户名,用户邮箱

git config --global user.name "MinZ2"  注:一定是自己github上的用户名

git config --global user.email "[email protected]"

3.查看当前用户名,当前用户邮箱(可略)

git config user.name

git config user.email

4.连接远程仓库

git remote add origin https://github.com/MinZ2/test1.git

5.查看/删除远程连接仓库(可略)

远程仓库命名:git remote

远程仓库地址:git remote -v

删除仓库:git remote rm origin

显示仓库的详细信息: git remote show origin

6.将本地仓库文件push到远程仓库

git status 查看工作目录的状态===红色的文字(新建文件)

git add . 将文件添加到暂存区===绿色文字(上传到缓存区)

git commit -m “备注”   提交修改,添加备注信息(本地仓库)

git push origin master    将版本库分支push到远程仓库

7.删除远程文件

(1)对需要删除的文件、文件夹进行如下操作:===(绿色文字)

git rm test.txt (删除文件)

git rm -r test (删除文件夹)

(2)提交修改

git commit -m "Delete some files."

(3)将修改提交到远程仓库的xxx分支:

git push origin master

8.新建/切换/查看/删除分支

!!!新建的git远程仓库只有master一个分支,当第一次提交东西后才能查到分支名称

新建本地分支:git branch sit

切换分支:git checkout sit(切换完分支后,工作区的文件会不一样)

把新建的本地分支同步到远程分支去:git push origin sit:sit(远程没有这个分支)

查看当前本地分支并且定位当前分支:git branch(当前分支颜色会变绿色)

查看远程分支:git branch -r

查看本地和远程所有分支:git branch -a(远程分支是红色的)

!!!!在远程仓库新建完一个分支,个人git命令上查询不到,必须先要git pull一下git branch -r才能查,当切此分支后,git branch才能查到

删除本地分支:git branch -D test

!!!如果你本地test分支删除了(远程有),切换此test分支,git会自动设置test分支并且跟踪远程test分支

【下面慎用】

# 遍历本地仓库中的所有分支,如果该分支在远程仓库中不存在,则在远程仓库中创建该分支(本地有远程没有,远程创建)

# 遍历远程仓库中的所有分支,如果该分支在本地仓库中不存在,则在远程仓库中删除该分支(本地没有远程有,远程删除)

git push --all --prune

9.编码设置

$ git config --global core.quotepath false   显示 status 编码

$ git config --global gui.encoding utf-8  图形界面编码

$ git config --global i18n.commit.encoding utf-8  提交命令的时候使用utf-8编码集提交

$ git config --global i18n.logoutputencoding utf-8  输出 log 编码

$ export LESSCHARSET=utf-8  设置LESS字符集为utf-8

10.远程强制覆盖本地

从远程仓库下载最新版本:git fetch --all

将本地设为刚获取的最新内容:git reset --hard origin/master

11.查看提交历史(更多用法:https://git-scm.com/docs/git-log)

(1)git log

(2)历史记录的简洁版本:git log --oneline

(3)逆向时间显示日志:git log --reverse

(4)查看指定用户的提交日志: git log --author=MinZ2【 --oneline -5】后面接的【】表示显示多少条记录

(5)指定日期,Git 项目中三周前且在四月十八日之后的所有提交,我可以执行这个(我还用了 --no-merges 选项以隐藏合并提交):

git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges

12.过滤文件

创建过滤配置文件命令:touch .gitignore !!!名字不要写错了

/abc.txt #忽略此目录下abc.txt文件

*.a #忽略所有.a结尾的文件

!lib.a #但lib.a除外

todo/ #忽略todo/目录下的所有文件

doc/*.txt #会忽略doc/a.txt 但不包括doc/a/b/b.text

13.git stash 与 git stash pop

(1)git stash 备份当前的工作区,保存到git栈中。

(2)git stash pop 从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。获取之后,会删除栈中对应的stash。

(3)git stash list 显示git栈中所有工作区内容的备份

(4)git stash clear 清空git栈

(5)git stash apply stash@{1} 把版本号为stash@{1}的备份取出,不会删除对应的stash。。0为最新版本

(6)git stash drop stash@{1} 丢弃stash@{1}存储,从列表中删除这个存储

(7)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(8)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

git文档-中文

~问题:git切换分支或者add或者commit时出现[fatal: Unable to create 'H:/技术/Git使用/.git/index.lock': File exists.]

解决方案:在.git同级目录,执行[rm -f .git/index.lock],将文件删除即可成功。

~问题:git上字体颜色代表什么

回答:

绿色,已经加入控制暂未提交

红色,未加入版本控制

蓝色,加入,已提交,有改动

白色,加入,已提交,无改动

灰色:版本控制已忽略文件。

~问题:出现[Already up to date.]

回答:

①当前分支的文件和远程仓库的文件不统一(解决:远程仓库同步到本地)

②本地仓库有新增的文件(解决:add和commit)


git工作流程:

工作区(本地):在电脑里面能看到的目录

暂存区(缓存区):一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

工作区——add——暂存区——commit——版本库——push——远程仓库

你可能感兴趣的:(git使用之第一次总结)