您的位置:首页 > 其它

git 使用方法总结

2018-02-09 17:26 405 查看
1.git 提交
提交的目录git add 目录提交代码到本地库 且增加描述文件git commit -m "文件描述"本地的更新推送到远程git push origin master2. 版本回滚a.查看版本日志guoguo-MacBook-Pro:develop_py guoguo$ git log -3
commit c20c44aefd390e43b33aef524ad2c45f0b39955b
Author: sxwen <shixingwe.n@163.com>
Date: Sun Nov 26 17:22:42 2017 +0800

WritingyourfirstDjangoapp,part5

commit b13dc465762df9dde09396a262f7b27d6d570e8c
Author: sxwen <shixingwe.n@163.com>
Date: Sat Nov 25 17:48:21 2017 +0800

WritingyourfirstDjangoapp,part4_2.62

commit 77485f08ca98cc8453596e000efbc0ba5e7bdf12
Author: sxwen <shixingwe.n@163.com>
Date: Sat Nov 25 17:23:32 2017 +0800

WritingyourfirstDjangoapp,part4_2.61
shixingwens-MacBook-Pro:develop_py shixingwen$ git log
commit c20c44aefd390e43b33aef524ad2c45f0b39955b
Author: sxwen <shixingwe.n@163.com>
Date: Sun Nov 26 17:22:42 2017 +0800

WritingyourfirstDjangoapp,part5
b.回滚到某个版本guoguo-MacBook-Pro:develop_py guoguo$ git reset --hard c20c44aefd390e43b33aef524ad2c45f0b39955b
HEAD is now at c20c44a WritingyourfirstDjangoapp,part5c.回滚之后可以download 下在这个版本删除本地文件,mvguoguo-MacBook-Pro:develop_py guoguo$ mv mysite ~/Documents/
查看git 状态guoguo-MacBook-Pro:develop_py guoguo$ git status

On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
(commit or discard the untracked or modified content in submodules)

modified: Python (modified content)
deleted: mysite/db.sqlite3
deleted: mysite/manage.py
deleted: mysite/mysite/__init__.py
deleted: mysite/mysite/__pycache__/__init__.cpython-35.pyc
deleted: mysite/mysite/__pycache__/settings.cpython-35.pyc
deleted: mysite/mysite/__pycache__/urls.cpython-35.pyc
deleted: mysite/mysite/__pycache__/wsgi.cpython-35.pyc
deleted: mysite/mysite/settings.py
deleted: mysite/mysite/urls.py下载 文件 git checkout -- mysiteguoguo-MacBook-Pro:develop_py guoguo$ git checkout -- mysite
guoguo-MacBook-Pro:develop_py guoguo$ ls
Python d jinlian mysite python9charter python_linux
Python_develop day2 learning new_python7 python_learn_guide3.如果想恢复到恢复前的文件,一定要记住最好是的commit id 号恢复到恢复前的文件如下guoguo-MacBook-Pro:develop_py guoguo$ git reset --hard bdafd80e3c03b7bb071cac57189518105ed944d3
HEAD is now at bdafd80 Shell_script

常用的命令:
git status      获取文件变动的详细信息,每一次的改动都对应着唯一的commit id,也就是id,便于查询
git diff <file>     获取该文件的变动信息
git log    打印所有文件的变化信息
git reset --hard HEAD^/HEAD^^/7764e5a   返回上一次更改/上上次更改/指定id处的更改
cat <file>   打印该文件的内容,注意不加git
git diff HEAD  --  <file>   查看工作区和版本库的区别
git checkout -- <file>   丢弃当前文件的修改
git checkout -b dev  创建并跳转到dev分支 = git branch dev(创建分支)  + git checkout dev(跳转到dev分支)
git merge dev  合并dev分支到当前分支(必须跳出要合并的分支才能对其进行合并)
git checkout dev/master   在已有分支间进行切换
git branch -d dev   删除dev分支 -D则是强制删除该分支

实际工作当中一般不要在master分支上干活,都是在其上面新建分支,干完活再合并到master上去

当一个分支上项目没有完成时,又必须去处理其他问题时可以将当前工作分支储存起来,等回来的时候恢复现场即可继续推进之前的项目:
git stash   储存当前分支
git stash pop  恢复现场

git log --group --pretty=oneline --abbrev-commit   查看整个commit的提交记录以及commit id
git remote -v   查看远程仓库的详细信息
git push origin dev   向远程仓库推送dev分支

一般的话master是主分支,需要随时和远程仓库同步,dev是开发分支也需要随时同步
git checkout -b dev origin/dev   将远程分支克隆到本地

如果同伴推送过一个相同的更改文件,则需先把那个文件取回本地,合并后再推送回去
git branch --set-upstream dev origin/dev 取回本地
git merge <file>
git pull   推送回去

git tag <name>在当前时刻打一个标签,为了方便查找,比id更直观,默认打在最近的commit上
git tag   查看标签
git show v1.0   查看该标签的详细信息
git tag -d v1.0   删除标签
git push origin v1.0   推送标签到远程
git push origin --tags   一次性全部推送

配置简写
git config -- global alias.st  status   以st代替status
git config -- global alias.ci commit  以ci代替commit
等等,可以自己定义
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git