Git简单流程(据说有面试题)
1. git clone
2. git add -A
3. git commit -m" "
4. git push
(一).创建新仓库
git init在当前目录建立本地新仓库
git clone <url>在当前目录克隆一个远端仓库
添加用户名及邮箱:
编辑.git/config
(二).在本地仓库上工作
你的文件可能存在于不同的层次:
工作目录
暂存区域
本地仓库
工作目录:
文件可能有三种不同状态:
未被追踪
已追踪未修改
已追踪已修改
暂存区域(包含了在下次将要被提交的修改):
使用git add/rm <file>将增加/修改/删除的文件暂存
本地仓库:
使用git commit -m "message"提交已经暂存的更改
常用操作:
git status:显示当前所处分支与修改(包括暂存与未暂存)
git checkout HEAD -- <file> 使某个文件恢复到上次提交时的状态
git checkout -- <file> 使某个文件恢复到上次暂存时的状态(Updated Lucups@V2EX)
git reset HEAD <file> 使某个修改由已暂存变为未暂存
将本地仓库重置成与远端一样:git fetch origin git reset --hard origin/master
检查提交历史:
git log:查看以往的提交以及提交时的留言
git log 1 -p:查看最后一次提交及其改动
git log --author=<name>:仅显示某人的的提交
git log --pretty=oneline:一行显示一个提交
git log --graph --oneline --decorate --all:以树状图显示提交历史
git log --name-status:仅显示哪些文件被改动
暂存:
当你需要建立新分支时,可能需要一个干净的工作目录,但是一时半会儿没法提交时,暂存是你的好选择。
git stash:暂存当前的暂存区域
git stash list:列出已有的暂存
git stash pop:将暂存中的改变重新释放出来
分支与合并:
git branch <branchname>来创建新分支
HEAD:
Git中只有一个分支是活跃的也就是HEAD所指向的那个。
使用git checkout <branch>来切换分支,HEAD也随之改变
git branch -v:列出所有分支以及当前活跃的分支
合并:
git merge <branchname>:将某分支合并到当前分支
git branch -d <branchname>:删除某分支
远端仓库:
git push origin <branch>:推送本地分支
git fetch <branch>:获取远端分支但不进行合并
合并前可以通过git diff <source_branch> <target_branch>检查更改
git pull:获取远端分支并尝试合并
增加远端仓库:
git remote add shortname <url>
打标签:
发布新版本时,打标签是个不错的选择:git tag <tagname> <hash>
小提示:
gitk:内置的图形界面
git config color.ui true:使命令行输出变成彩色
git add -i:不用一个个输入需要暂存的文件的文件名,进行交互式选择
参考链接:https://www.ivancai.me/2014/11/15/git-tutorial-for-beginner.html
git-简洁指南链接:http://rogerdudler.github.io/git-guide/index.zh.html