git 常用法 备忘

本文是写给自己看的备忘

不用每次都输入账号密码

git config --global credential.helper store

git clone http://xxx/foo.git
cd foo
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master


op .gitignore
加上 *~
面得被 emacs 临时文件干扰

fork 后 和同步github原仓库代码
git remote -v
git remote add raw https://github.com/cevio/koa-rapid-router.git
git fetch raw
git checkout master
git merge raw/master
git push


记录git的相关操作

// 全局配置
git config --global user.name "xxx"
git config --global user.email "xxx@xxx.xx"
git config --global i18n.logoutputencoding gbk

解决emacs 分页不好显示   提示 terminal is not fully functional

git config --global core.pager ""

tag
git tag -l -n 命令可以查看所有的版本
git checkout tag_name

c:/.gitconfig 就是改这个文件的内容啦,不如我直接去编辑好了
(find-file "c:/.gitconfig")

如果是 linux 下 对应的是  ~/.gitconfig   文件

// git 还原整个仓库
git reset --hard b80b8583665fe2160820ee76ee94c3a992bb4927

// 撤销add
git reset HEAD .

还原某个文件
git checkout 635e6fd95ac63b2ffc0c5e3128c4025405106ba5 mainwindow.ui


git pull 更新仓库版本
git add -u 添加已经在库里的修改删除等
git add -A 全部
git commit -m "消息"
git push   提交修改
git status 查看当前 add 状态
git checkout filename 还原filename

git rm   删除文件

撤销
git reset HEAD bin/*

建议先 pull
先 add 再 commit 最后 push

git log -3 -p   查看日志 最近3次的日志  -p 慎用,会输出很多东西 查看差异

建个本地仓库
建个新空目录 然后
f:/work/git/mygit $ git --bare init
看到下面一行提示
Initialized empty Git repository in f:/work/git/mygit/.git/
ok 建好了
注意这里要写 --bare 的,否则创建的目录在别的目录下无法push上去


来到 f:/work/git 目录
git clone f:/work/git/mygit/ mygit2
这样 mygit2 就被创建到了 git 目录下
op readme 然后写点东西
git add readme
git commit -m "add readme"
git push
这样就把仓库提交上去了


Perhaps you should specify a branch such as 'master'.
git push origin master

分支
git branch -a 查看所有分支 
git checkout remotes/origin/emwin 切换分支
git push origin mybranch:mybranch 把本地分支push到远程
git branch -D emwin 删除本地分支
git checkout -b emwin remotes/origin/emwin  在本地新建一个 emwin分支 拷贝自 remotes/origin/emwin
git branch -m remotes/origin/emwin emwin  重命名分支 把 remotes/origin/emwin 改为 emwin
git push origin --delete new_a  删除远端分之

TARGET_LINK_LIBRARIES(emwin_demo1 debug msvcrtd.lib debug MSVCPRTD.LIB) 
TARGET_LINK_LIBRARIES(emwin_demo1 optimized msvcrt.lib optimized MSVCPRT.LIB)


~/.gitconfig

[user]
        name = wangjunsheng
        email = xxxx@xxx.xx
[core]
        autocrlf = false 
        safecrlf = true
        pager = 
[alias]
        lg = log --pretty=oneline
        cm = commit -m
        st = status
        d  = diff
[credential]
        helper = store
[push]
        default = matching


rm -r custom_widgets/property_sheets/demo/common/property
git checkout custom_widgets/property_sheets/demo/common/property

git clean命令用来从你的工作目录中删除所有没有tracked过的文件

git clean经常和git reset --hard一起结合使用. 记住reset只影响被track过的文件, 所以需要clean来删除没有track过的文件. 结合使用这两个命令能让你的工作目录完全回到一个指定的<commit>的状态

用法

git clean -n

是一次clean的演习, 告诉你哪些文件会被删除. 记住他不会真正的删除文件, 只是一个提醒

git clean -f

删除当前目录下所有没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过

git clean -f <path>

删除指定路径下的没有被track过的文件

git clean -df

删除当前目录下没有被track过的文件和文件夹

git clean -xf

删除当前目录下所有没有track过的文件. 不管他是否是.gitignore文件里面指定的文件夹和文件

git reset --hard和git clean -f是一对好基友. 结合使用他们能让你的工作目录完全回退到最近一次commit的时候

git clean对于刚编译过的项目也非常有用. 如, 他能轻易删除掉编译后生成的.o和.exe等文件. 这个在打包要发布一个release的时候非常有用

下面的例子要删除所有工作目录下面的修改, 包括新添加的文件. 假设你已经提交了一些快照了, 而且做了一些新的开发

git reset --hard

git clean -df


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值