- 修改后还没有放到暂存区
- 文件已经添加到暂存区,又了修改,如果撤销就回到添加暂存区后的状态
- 如果已经提交,则使用版本回退来达到撤销修改的目的。
实际上是把当前分支 master 推送到远程。由于远程库是空的,第一次推送master分支时,
加上了-u参数,
创建时记得勾选Initialize this repository with a README,这样GitHub会自动
为我们创建一个README.md文件。
git clone git@github.com:minooo/GitSkills
...自动完成克隆...也许你还注意到,GitHub给出的地址不止一个,还可以用https://github.com/minooo/GitSkills.git
这样的地址,实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
注意,使用https除了速度慢以外,有个最大的麻烦就是 每次推送必须输入账号密码 ,但是在某些
只开发http端口的公司内部就无法使用ssh协议而只能使用https。
- 删除某个文件
git rm test.txt, 然后保存git commit -m "del", 如果你删错了也可以恢复git checkout -- test.txt
首先存储现场 git stash ,然后切到master处理bug, (最好在master另起一个分支解决),解决完bug后,合并到主分支,
删除bug分支后,切到dev 分支,重新开启当前开发任务,git stash list
还原现场有两种方式:
git stash apply,但是stash 内容不删除,可以使用git stash drop来删除git stash pop恢复的同时把stash内容也删除了。 如果你多次 stash,先用git stash list查看,然后恢复指定的 stash,git stash apply stash@{0}
-
查看分支:
git branch -
创建分支:
git branch <name> -
把创建的分支推送到远程服务器:
git push origin dev -
切换分支:
git checkout <name> -
创建+切换分支:
git checkout -b <name> -
合并某分支到当前分支:
git merge <name> -
不用快速合并:
git merge --no-ff -m "merge with no-ff" dev这是有记录的合并,推荐这个 --no-ff 表示禁用 Fast Forward 模式。这样合并后能看出曾经做过合并 -
删除分支:
git branch -d <name> -
强行删除:
git branch -D <name>用于删除一个没有被合并过的分支。 -
删除远程分支
git push origin --delete dev -
查看分支提交详细命令:
git log --graph --pretty=oneline --abbrev-commit -
查看分支合并图:
git log --graph -
一口气提交所有!
git add --all -
强制当前提交推送到远程
git push -f origin master -
强制覆盖本地 首先:
git fetch --all,其次:git reset --hard origin/master -
把本地分支master与远程仓库origin里的分支gaga建立关联,你要切换到master分支上,
git push -u gaga -
查看当前远程仓库 git remote -v
-
添加远程仓库
git remote add origin https://... -
添加额外的远程仓库(比如coading)
git remote add https://... -
一次提交所有远程仓库
git push --all
- 让git对大小写敏感
git config core.ignorecase false - 拉取远程,或者切换分支时如果出现文件未跟踪错误
git reset --hard origin/master - windows使用git时出现:warning: LF will be replaced by CRLF 相关帖子讲解
- 查看当前模式
git config core.autocrlf* 禁用自动转换git config --global core.autocrlf false - 之后再次提交你的代码
git add --all...
- 查看当前模式