初始化:git init
初始化后在.git目录下又config文件,要加入我的信息才能用,不然不能作任何修改。
至少加入:
[user]
name=xxx
email=xxxx@dxxx.com
要忽略某些文件添加
.gitignore文件
git-update-index命令,更新git库索引,做用:标记变化,如今已被其余命令包含。
git-update-index --add file 添加file文件
git-update-index --force-remove file 删除git库中的文件。
新版本的git,用:
git-add git-rm
查看git库的状态:
git-status
提交变化:
git-commit 添加注释用-m 参数,-a强行提交,没有被git-add的文件也被提交,
提交前查看文件变化用:
git-diff
查看提交记录:
git-log
分支相关:
在第一次git-init的时候创建的是master分支,
查看分支:
git-branch,查看已经存在的分支和当前所在的分支
建立分支:
git-branch branch-name (建立分支,但不切换到新分支上)或者git-branch -b branch-name (建立分支,并切换到新分支)
删除分支:
git-branch -D branch-name 删除分支,删除后在分支上作的全部变化都没法恢复。
切换分支:
git-checkout branch-name 若是分支存在,则切换到那个分支。
查看分支历史:
git-show-branch查看分支历史变化。
分支合并:
git-merge target-branch-name source-branch-name 有冲突回提示,已经不多用里用
git-pull 代替了 用法同样。
获取远程代码仓库:
git-clone username@xxxxxx:path 获得远端git仓库,.git/config文件不会过来,须要和git-init同样要本身添加。
clone的结果只有当前分支,其余分支信息用
git-branch -r 查看 ,须要远程分支的代码用
git-branch -b 本地分支名 远程分支名 来查看
git-pull user@apiaddr: 远端repository名 远端分支名 本地分支名 ; 获取远端的分支到本地.git库,若不写本地分支名,则pull到本地当前分支。
须要注意的是,git-pull 也能够用来合并分支,和git-merge做用相同。
将本地分支内容提交到远端分支
git-push username@ipaaddr: 远端repository名 本地分支名 : 远端分支名 ; 和git-pull正好相反,将本地提交到远端的某个分支上。
不会自动合并文件,有风险。
git库的逆转和恢复:
git-reset:
git-reset --mixed 恢复到上一个版本,其中:文件不改动,提交commit被清除,git-add进的文件别删除add标识,若要‘下一个’版本,要从新add。
git-reset --soft 至关于git-reset --mixed后对变化的文件又作里git-add.
git-reset --hard 全部信息回退,包括代码,文件,通常只在重置或放弃代码时才用,执行后文件也不能恢复过来。
在未提交前检查格式,好比空格的使用:
git diff HEAD^ --check
git分支操做:
git checkout -b 新分支
git branch 查看分支
git rebase 分支名称 衍合分支,两方衍合,在一条开发线上保留提交记录。
git merge 分支名称 合并分支,三方合并,保留每个分支打提交记录。
git 查看某个文件的变化例如,查看a文件在以前历史版本中的变化:
两步: 1 git log --pretty=oneline a 打印出a文件变化过的历史版本commit信息。
2 git show <第一步打印出的版本commit值> <文件> 打印这个文件在那个版本跟当前版本的对比。git