git clone git@github.com:niniaibu/java.git
git status
查看修改或添加文件状态
git diff
查看具体修改,:q 退出
git diff --cached
:只看添加的部分git add .
全部添加git commit -m "注释"
git commit -am "注释"
git push origin branch/master
推上远程库
git push -u origin master
第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。git checkout branch/master
换分支git pull origin master
拉最新的代码
git pull --rebase
(建议使用,将两个分支在一个分支上进行拼接,保持分支始终只存在一个)
pull=fetch + merge(需要解决与本地冲突,且会存在两个分支进行合并)git remote add origin git@github.com:niniaibu/Java_test.git
本地路径下,本地关联远程库git check-ignore -v A.class
查看.gitignore
文件忽略跟踪文件有三个地方加入.gitigore:
vi ~/.gitignore(家目录创建)
定义Git全局的 .gitignore 文件。设置全局的git .gitignore文件来管理所有Git项目的行为。这种方式在不同的项目开发者之间是不共享的,是属于项目之上Git应用级别的行为。
vi ../.gitignore(项目目录下创建)
在Git项目中定义.gitignore文件。.gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则。在.gitingore 文件中,遵循相应的语法,在每一行指定一个忽略规则。
vi ../.git/info/exclude(源代码下面的git目录的根目录)
在Git项目的设置中指定排除文件。临时指定该项目的行为,需要编辑当前项目下的 .git/info/exclude文件,然后将需要忽略提交的文件写入其中。需要注意的是,这种方式指定的忽略文件的根目录是项目根目录。
https://www.cnblogs.com/kevingrace/p/5690241.html
忽略文件原则:
1、忽略操作系统自动生成的文件,比如缩略图等;
2、忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
3、忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
git stash
:保留现场
git stash pop
:回到工作现场
git stash clear
:删除保存的工作现场git reset
(版本撤回)
用法
git reset --mixed
回退commit,保留源码,默认方式.
git reset --soft
回退至某个版本,只回退commit信息
git reset --hard
彻底回退至某个版本
示例
回退所有内容到上一个版本git reset HEAD^
回退a.py这个文件的版本到上一个版本git reset HEAD^ a.py
向前回退到第3个版本git reset –soft HEAD~3
将本地的状态回退到和远程的一样git reset –hard origin/master
回退到某个版本git reset 057d
回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit git revert HEAD
git revert
(撤消操作)
git revert撤销某次操作,此次操作之前的commit都会被保留。 git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区。
示例
git revert HEAD~3
:丢弃最近的三个commit,把状态恢复到最近的第四个commit,并且提交一个新的commit来记录这次改变。
git revert -n master~5..master~2
:丢弃从最近的第五个commit(包含)到第二个(不包含),但是不自动生成commit,这个revert仅仅修改working tree和index。