git的附加操作学习

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

git init 把这个目录变成Git可以管理的仓库

git diff 比较不一致
比如:git diff HEAD^ -- 1.txt

git reset 回退到分支的某个版本,当前是HEAD,上1个版本是HEAD^,,上2个版本是HEAD^^,上100个版本是HEAD~100
比如:git reset --hard HEAD^
只回退某个文件到上1个版本是HEAD^
比如:git reset HEAD^ 1.txt
也可以制定commit id,在git log中查看
比如:git reset --hard a19f1d5ef51094feed8d9ad1a69192e96b37196f(commit id不用写全,git可以自己匹配)

如果回退到某个版本(老版本),git log只能查看这个版本之前的历史,
使用git reflog可以查看所有历史,如果后悔不想回退,这个时候就可以回到最新的版本

没有add到暂存区的修改,要回退使用git checkout -- file
git checkout -- 1.txt 

add到暂存区没有commit的修改,要回退到分支中最新版本,使用git reset --hard HEAD

commit的修改(已经在HEAD上了),要回退到分支的老版本,使用git reset --hard HEAD^/HEAD^^/HEAD~100/commit id

删除文件rm file,然后git rm file(类似git add file操作),再git commit -m 'git rm file'

多人协作,git fetch只拉内容有冲突不拉,git pull拉内容有可能会有冲突

git tag <name> 新建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a <tagname> -m "blablabla..."可以指定标签信息
git tag可以查看所有标签

命令git push origin <tagname>可以推送一个本地标签;

命令git push origin --tags可以推送全部未推送过的本地标签;

命令git tag -d <tagname>可以删除一个本地标签;

命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

.gitignore维护该文件忽略某些文件比如.class