Skip to content

Likely6/git-github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation


git常用命令
git config --list  ^^查看配置列表
git config --global user.name 'username'  ^^配置用户名和邮箱
git config --global user.email '[email protected]'
git init  ^^初始化仓库(此时目录下会多出一个.git目录,是用来跟踪版管理本库的  用ls -ah来查看)
git add readme.txt  ^^添加文件到版本库的暂存区
git commit -m '添加readme.txt文件'  ^^将缓存区文件提交到当前分支
git status  ^^查看仓库状态
git diff readme.txt ^^查看具体修改情况
git log ^^显示提交日志(git log --pretty=oneline  可以一行显示免得显示太乱)
git reset --hard HEAD^   ^^回退到上一个版本(HEAD表示当前版本 HEAD^表示上一个版本 HEAD^^表示上上个版本以此类推  也可以HEAD~10表示回退多山版本)
git reset --hard b87431a  ^^指定版本号回退(不需要写全版本号)
git reflog  ^^查看你的每一条命令
git checkout -- readme.txt  ^^丢弃工作区readme.txt的修改 其实是用版本库里的最新版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”  
git reset HEAD readme.txt ^^移除暂存区的readme.txt文件(就是当你add后需要撤回时)
git rm test.txt ^^删除指定文件,删除文件后你有两个选择,1.确实要删除该文件(commit就直接从版本库删了) 2.删错了,要恢复(checkout可恢复)
git remote add origin git@............  ^^然后关联远程仓库

git pull origin master  ^^拉取远程master分支
git push -u origin master ^^推送当前分支到远程
git checkout -b dev ^^在当前分支创建并切换分支
git branch dev  ^^在当前分支创建dev分支
git checkout dev  ^^切换分支到dev
git branch  ^^查看分支 会列出所有分支 列表中带\*表示当前分支
git merge dev ^^合并指定分支到当前分支
git merge --on-ff -m '合并分支' dev ^^--on-ff为普通模式合并分支 删除分之后也有分支信息
git branch -d dev ^^删除dev分支
git branch -D dev  ^^强行删除dev分支  如果要丢弃一个没有被合并过的分支时
git log --graph ^^查看分支合并图 
git stash ^^将当前工作现场存储起来,等回复现场后继续工作
git stash list  ^^查看刚刚存储起来的工作现场
git stash apply ^^恢复现场
git stash drop ^^删除现场(删除后git stash list 查寻不到)
git stash pop ^^恢复且删除现场(删除后git stash list 查寻不到)

创建秘钥(用于连接github仓库)与添加秘钥关联远程仓库
1.  cd ~/.ssh ^^查看是否已有秘钥
2.  ssh-keygen -t rsa -C '[email protected]'  ^^创建秘钥一路回车(生成一个私钥一个公钥)
3.  登录github  settings -> SSH and GPG keys -> New SSH key ^^在github里添加ssh公钥 
4.  git remote add origin git@............  ^^然后关联远程仓库
5.  下一步是 如果远程仓库有内容 则先拉取后推送 没有则直接推送
6.git pull origin master  ^^拉取
7.git push -u origin master ^^推送

用到的CMD命令
mkdir demo  ^^创建demo文件夹
cd demo ^^进入到该目录下的demo文件夹
pwd ^^显示当前目录所在位置
echo "hello world" > readme.txt ^^创建readme.txt文件并写入'hello world'
cat readme.txt  ^^查看文件内容
rm test.txt ^^删除指定文件

小结:
1. 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除
2. 开发新功能时,通常会新建feature分支进行开发,然后合并,最后删除
3. 当你的小伙伴从远程库clone到本地时,默认情况下,你的小伙伴只能看到本地的master分支。现在,你的小伙伴要在dev分支上开发,就必须创建远程origin的dev分支到本地  git checkout -b dev origin/dev
4. 多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
5. fork别人仓库后进行修改
在GitHub上,可以任意Fork开源仓库;
自己拥有Fork后的仓库的读写权限;
可以推送pull request给官方仓库来贡献代码

gitignore
1. vim .gitignore 创建文件(在window下.gitignore默认下是不能没有文件名的,所以可以用vim来创建)
2. 写入忽略文件或目录
3. 然后按ESC+输入:wq保存并退出vim编辑
匹配规则:
*.a       # 忽略所有 .a 结尾的文件
!lib.a    # 但 lib.a 除外
/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

About

git常用命令

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published