Git简单操作

  • git clone [email protected]: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 [email protected]: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。

你可能感兴趣的:(Git简单操作)