Git入门
Git入门
一般流程如下:
工作区 ——> 暂存区 ——> 本地库 ——> 远程库
箭头分别代表add、commit、push
基本操作
-
查看用户名或者邮箱(美其名曰:用户签名)
git config user.name/user.email #或者在用户家目录(Jackson)下面有一个.gitconfig文件,记载了用户签名。
-
git init
初始化本地库,让Git对此目录有管理权限,它会生成一个.git的隐藏目录。有了它,你之后的命令才能执行,git clone除外
-
git status
查看状态,对于可能会出现的一些英文如下做了解释
On branch mater #目前在master这个分支 No commit yet #没有提交任何文件 Untracked files #未被追踪的文件,红色代表在工作区,绿色则不在工作区,代表git已经追踪到了该文件 nothing added to commit but untracked files present (use "git add" to track) #没有添加过任何东西,而且有未被追踪的文件(可以使用git add去追踪)
-
git add xxx
添加至暂存区,可能出现如下警告:warning: LF will be replaced by CRLF in xxx。这是因为windows中的换行符是CRLF(Carriage Return Line Feed,windows的换行符是\r\n,回车换行),你此时在命令行输入vim xxx.txt,那么自然是在linux中,所以它告诉你linux中的换行符(LF,Line Feed,同\n)将被windows的替换掉,因为你的电脑是windows,它为了适配你的电脑
-
git reset head .
如果你不小心使用了 git add . 那么你可以使用该指令撤回之前的操作,即将暂存区撤回到工作区
-
git commit -m '这是第一个版本' xxx
-
git reflog/log 精简版或完整版日志
-
git reset --hard xxx 切换版本,即切换指针
-
git reset --hard HEAD^ 切换到上一个节点
-
git push --force 然后强制提交(不过 --force 的话,就会导致看不到该条记录,慎用)
分支的概念:
顾名思义,从主线任务中分出来一个任务,分支之间互不影响,等分支开发好了之后,可以与主线任务合并
-
git branch xxx 创建分支
-
git branch -v 查看当前分支
-
git branch -avv 查看所有分支
-
git checkout xxx 切换分支
-
git merge xxx 合并分支(把其它分支合并到你当前所在的分支)
-
git branch -m xxx xxx 修改分支名字
-
git rm --cached xxx 将缓存区的文件回退到工作区
-
git rm -r --cached . 将缓存区的所有文件回退到工作区
-
git remote -v 显示所有远程仓库
-
git remote show origin 查看仓库地址
-
git remote add xxx(别名) xxx(链接) 为链接设置别名
-
git push xxx(链接/别名) xxx(分支)
将本地库的代码推送到远程库,需要指明分支(第一次可能需要一个凭证,把你登录这个网站的账号输入即可,之后可在电脑自带的凭据管理器查看)
-
git pull xxx xxx 拉取
-
git clone xxx 克隆,不用git init,直接打开目录克隆即可,也不用登录账号,因为公共库就意味着开源,任何人都可以看。克隆主要做了三件事:拉取代码、初始化本地库、创建别名
-
将项目迁移到另一个仓库
git clone --bare https://github.com/exampleuser/old-repository.git cd old-repository.git git push --mirror https://github.com/exampleuser/new-repository.git
额外补充
-
ll
是 ls -l 的缩写,查看命令及命令的相关权限
-
dd
删除光标所在行
-
tail -n 1 hello.txt
查看倒数第一行
-
:wq
保存并退出
-
:q
强制退出,不会保存。如果你不小心修改了某个文件,又不想保存的话,那么强制退出就好了,它还是会和原来一样的
git push origin xxx(远程分支名) // 将本地分支提交至远程指定分支
git remote show origin // 查看仓库地址