git的基本操作
mkdir directory_name
cd directory_name
git init #把该目录变成Git可以管理的仓库。
git add file1_name file2_name …
git commit -m “something you want to tell”
git status #查看当前的状态。
git diff file_name #查看具体修改了什么内容。
git log #查看提交历史记录。 –pretty=oneline (–abbrev-commit)
git log –graph –pretty=oneline –abbrev-commit #查看分支合并的情况。
git reset –hard commit_id #在不同的版本中来回。 HEAD^: 其中^可以为多个 HEAD~n: n代表那个版本。
git reset HEAD file_name #可以把暂存区的修改撤销掉(unstage),重新放回工作区。 HEAD代表的是最新的版本。
git reflog #查看命令历史。
git checkout – file_name #让这个文件回到最近一次git commit或git add时的状态。丢弃工作区的修改。 可以理解为一键还原。
git rm file_name
git commit
ssh-keygen -t rsa -C “youremail@example.com” #创建ssh key。
推送给远程库
git remote add origin git@github.com:Obitolyz/learnGit.git #remote远程
git push -u origin master #第一次推送加上-u参数。会把本地的master分支和远程的master分支关联起来。
从远程库克隆
git clone git@github.com:Obitolyz/gitskills.git
创建分支
git checkout -b branch_name #-b参数表示创建并切换。
git branch branch_name
git checkout master #切换分支
将分支的内容合并到master分支上。
git merge branch_name
git merge –no-ff -m “message” branch_name #禁用fast forward。
删除分支
git branch -d branch_name #-D强制删除。
分支管理策略。
git stash #把当前工作现场“储藏”起来,等以后恢复现场后继续工作。
git stash list
git stash pop #删除。
创建本地的dev与远程dev的链接。
git checkout -b dev origin/dev #在本地创建和远程分支对应的分支。
git branch –set-upstream dev origin/dev #设置dev和origin/dev的链接。
git pull #把最新的提价抓下来,在本地合并,解决冲突再推送。
标签管理
git tag version_number #默认标签是打在最新提交的commit上的。
git tag version_number commit_id
git tag -a version_number -m “version_infos” commit_id
git show tagname #查看标签信息。
git tag -d tagname