Take nothing for granted. Know that the harder you work, the luckier you'll get. — Ivanka Trump
没有事情是理所当然,要知道越努力越幸运。 — 伊凡卡·川普
git基础命令
-
初始化一个git工程
git init
: 在本地已存在的工程目录下打开git base,输入git init
会在该目录下创建.git隐藏目录(该目录保存一些基本配置)。
git clone 远程仓库地址
:上面是直接在本地创建一个新的工程,而该命令是将远程仓库克隆到本地,直接将远程仓库克隆到本地。 -
添加需要关注的文件
这一组命令是添加文件到暂缓区,暂缓区的文件可以被commit,最后被push到远程仓库。
git add --all
:添加所有变化。
git add -u
:添加被修改(modified)和被删除(deleted)文件,不包括新文件(new)。
git add .
:添加新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件。
git add fileName
:添加指定文件到暂缓区。 -
提交变化
暂缓区的文件就是你关注的文件,处于这个状态的文件是能被commit(提交某次修改)的。
git commit -m 'message'
:该命令就将你需要修改的文件提交,message是你为这次提交所做的描述信息。 -
添加远程仓库
如果一个仓库是通过git init
方式创建,是没有绑定一个远程的仓库,而git clone
方式的仓库为克隆的地址,当然你可以为你的git工程添加多个远程仓库。
git remote add 仓库名 对应的仓库地址
:添加远程仓库。 -
push
git push <远程仓库> <本地分支> <远程分支>
:将本地分支推送到远程仓库的远程分支,如果远程仓库不存在对应的分支则创建,当只有一个远程仓库时使用git push
能直接将当前本地分支推到对应的远程分支。 -
pull
git pull <远程仓库> <远程分支> : <本地分支>
:将远程仓库的远程分支拉取下来与本地分支进行合并,例如git pull origin next:master
表示将远程仓库origin的next分支与本地的master分支合并,冒号及后面的本地分支可以省略即git pull origin next
。 -
其他命令
git branch
:查看本地所有分支
git branch --all
:查看所有分支包括远程仓库的。
git branch dev2
:新建分支dev2
git branch -d dev2
:删除分支dev2
git checkout dev2
:切换到制定分支 dev2
git merge 分支A
:将分支A合并到当前分支
git status list
:将改动缓存到临时区域,并还原到上次commit后的状态,此时你可以直接切换分支
git status pop
:将缓存区域的改动重新应用到该分支并且移除临时缓存
修改提交git账号
场景描述
当你在首次用git提交某次修改时会让你输入对应的name和email,这个信息会作为当前电脑的全局配置,那么在后续的提交都是用的这个账号。如果需要修改提交的账号呢?
通过命令git config --list
查看当前的git相关配置,找到user.name 和user.email,修改即可。
解决方法
- 修改全局 (修改全局默认值)name和email,通过以下命令:
git config --global user.name yourName;
git config --global user.email yourEmail;
- 只修改当前project的name和email,在当前project目录下通过命令:
git config user.name yourName;
git config user.email yourEmail;
-
上面两种方法如果不生效,可以修改位于在project下.git目录下的config添加如下节点
增加配置
删除远程仓库上被忽略的文件
场景描述
由于种种原因,一些本应该被忽略的文件被我们误操作提交到了远程仓库了,那么我们该怎么删除这些文件呢?
解决方法
以误提交了.idea目录为例,我们可以通过下面的步骤处理:
- 首先执行命令
git rm -r --cached .idea
将.idea从暂缓区中移除 - 编写正确的.gitignore文件,忽略掉上面移除的文件,然后依次执行下面的命令
git add --all
git commit -m '提交信息'
git push
网友评论