Git 连接步骤
git clone是一个组合,clone会包含init,remote,fetch,checkout这些操作。自动创建 .git文件夹和 origin远程地址别名。
(只有第一次拉取代码用 clone,以后拉取都用 pull),拉取现成项目时,直接在新建项目时clone.
1.git init 初始化本地仓库
设置名字邮箱(随便填写)
git config --global user.name “ning”
git config --global user.email “hello@it.cn”
可以选择重置名字密码(适用于已经初始化设置过用户名密码)
git config --global --replace-all user.email “我的邮箱”
git config --global --replace-all user.name “用户名”
2.git添加命令
# 会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
# 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤
git add .
# 仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。
# add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -u
# 是上面两个功能的合集(git add --all的缩写)
git add -A
# 会忽略.gitignore把任何文件都加入
git add *
3.git提交命令
# 将暂存区的内容生成一次commit,并且附带一个信息“message”
git commit -m [message]
# -a 参数设置修改文件后不需要执行 git add 命令,直接来提交。注意:只有修改的文件这样可以,新建的不行哦
git commit -a
4. 推送到码云
git push origin master (把本仓库的文件 提交到 “远程仓库里也就是gitee中,master是被推送分支的名字”)
git push <远程主机名> <本地分支名>:<远程分支名>
# 如果本地分支名和远程的分支名是一致的,远程分支名可以省略
git push <远程主机名> <本地分支名>
强制提交不相关的历史,合并两个不同的分支,在从本地idea提交代码到git时,一般是第一次提交的时候会遇到,当本地project和git上面的项目产生联系以后后面就可以正常push了。
$git pull origin master --allow-unrelated-histories
实在不行就强推,推完第一次就好了
git push --force origin master
版本控制的方法:
1.
git reflog 查看每个版本的日志记录
2.找到对应版本的ID输入前四位
3.英文状态下按Q 退出当前的状态然后输入回退的指令
git reset --hard 217e (回到ID是217e开头的版本)
忽略文件
.gitignore
删掉远程文件
git rm -rf reggie_take_out.iml 文件名是reggie_take_out.iml
git rm -rf .\db\target\ 删除db下文件名是target 的文件夹
git add 的区别
- git add -A 提交所有变化
- · git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
- · git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
常见错误:
当你在使用git commit -m " " 时出现On branch master Your branch is up to date with ‘origin/master’. nothing to commit, working tree is clear 的错误时,是出现了版本分支的问题,只需要新建一个分支,再进行上传文件和合并分支的操作后就可以,如下:
1.新建一个分支
$ git branch newbranch
2.检查分支是否创建成功
$ git branch 若是成功会看到一个名为newbranch的分支
3.切换到你的新分支
$ git checkout newbranch
4.将你的改动提交到新分支上
$ git add .
$ git commit -m “newbranch”
之后可检查是否提交成功,使用命令:git status
5.切换到主分支
$ git checkout master
6.将新分支提交的改动合并到主分支上
$ git merge newbranch
7.push代码
$ git push origin master
8.若是提示你输入用户名和密码,直接输入对应的用户名和密码即可。
9.删除这个分支
最后记得删除这个新建的分支
$ git branch -D newbranch
删除成功后会有Deleted branch newbrannch(was *******)的提示。不放心可以再用$ git branch 检查是否删除成功。
写完代码后,我们一般这样
git add . //添加所有文件
git commit -m “本功能全部完成”
执行完commit后,想撤回commit,怎么办?
git reset --soft HEAD^
git reset HEAD~
1
2
这样就成功的撤销了你的commit
注意,仅仅是撤回commit操作,您写的代码仍然保留。
说一下个人理解:
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
分支
// 创建分支
git checkout -b 分支名
// 切换分支
git checkout 分支名
// 查看当前分支的名称
git branch
// 把分支提交到远程仓库
git push --set-upstrean origin 分支名
// 把远程仓库的分支拉取到本地
git checkout -b 分支名 origin/远程分支名
// 和并分支(将指定分支合并到我当前所在的分支)
git merge 分支名