Git 开发常用

239 阅读4分钟

git 用户邮箱配置

git config --global user.name "xxxxxxxx"
git config —global user.email "xxxxxxxx@com.cn"

git 用户邮箱查看

git config user.name
git config user.email

git 资源查看

npm config get registry 
Yarn config get registry

npm 和 yarn registry配置

npm config set registry https://registry.npm.taobao.org
npm config set registry https://registry.npm.taobao.org

个人秘钥配置

1,本地安装好Git, Git Bash等工具

2, 打开Git Bash, 在Git Bash窗口运行如下命令
  ssh-keygen -t rsa -C "xxxxxx@xxx.com.cn"

3,cd ~/.ssh   (如果没有执行第三步,则不会有这个文件夹);

4,cat id_rsa.pub   在命令行打开这个文件,会直接输出密钥;然后复制秘钥

5,复制,打开代码平台 ,点自己头像 >> settings >> SSH and GPG keys >>New SSH key 

6, titile  随便写。  key值是刚才复制的,然后粘贴完成。


Git 命令简写配置

1, cd ~   到根目录
 2, ls -al  查看根目录下所有的隐藏文件
 3, vim .gitconfig 直接打开编辑
 配置别名:
 [user]
        name = JamieDawn
        email = JamieDawn@xxxx.com.cn
[alias] 
        br = branch
        st = status
        co = checkout
        ci = commit 
        ps = push 
        pl = pull
        mg = merge
        line = log --oneline
        pre = log --pretty=oneline
        cp = cherry-pick
        sa = stash
        tree = log --graph --pretty=oneline --abbrev-commit
[pull]
        rebase = true

删除本地分支和远程分支

git branch -D test  删除本地test分支
git push origin --delete test 删除远程服务器test分支
   

一个分支覆盖另一个分支 (当前分支master)

git reset --hard origin branch   (将branch分支代码覆盖master分支代码)
git push -f origin master

git stash 常用命令

***  当你在dev上做开发的时候,这个时候项目出现了一个bug,需要紧急修复,但是你的项目刚开发完一般,还不想提交,这时候,可以用git stash ,命令 将修改的内容保存至堆栈中,然后顺利的切换到hotfix分支进行修复,完成后,再次切换到dev分支,从堆栈中恢复刚刚保存的内柔

***  由于疏忽,本该在dev上开发的内容,却在master上进行了开发,你需要重新切到dev上开发,可以用 git stash 将内容保存到堆栈中,切回到dev分支后,再次恢复内容即可

1, git stash 
2,  git stash save '保存注释'
    、
    stash@{0}: On zlm: 0227
    stash@{1}: WIP on master: 14b03d3 update
    、
3,  git stash list  查看当前stash 内容
4,  git stash pop  将当前stash 中的内容弹出,并应用到当前分支对应的工作目录上去,会清空此次暂存在堆栈中的内容
5,  git stash apply stash@{0}  将堆栈中的内容应该到当前目录,不同与git stash pop, 该命令不会将内容从堆栈中删除,可用于多个分支,堆栈中没有删除
6, git stash drop stash@{0}   从堆栈中移除指定的stash
7, git stash clear 情况堆栈中的内容
8, git stash show stash@{0}  查看指定的stash和当前的目录差异
9, git stash show stash@{0} -p 查看详细的不同
10, git stash branch 从最新的stash创建分支



git从一个仓库迁移到另外一个仓库

git remote add origin2 master (给原创仓库起一个名称:origin2)

git remote set-url origin2 http://xxxxx.com.cn/frontend.git (设置远程仓库origin2的地址)

git push origin2 (把master仓库提交到远程仓库Origin2:master分支上)

取消本地目录下关联的远程库

git remote remove origin

远程分支已经删除,但是git branch -a 依然显示

 1, 查看远程分支  git branch -r 

 2, 查看本地和远程分支的关系 git remote show origin 

 3, 删除所有远程污浊的分支    git remote prune origin

修改上次commit 提交的注释

 git commit  --amend  '修改注释'           (修改当前最近的一次commit提交注释)

撤回到指定的commit提交记录中

 git reset --hard commitId (当前分支回滚到指定的commitId记录中)

合并指定的提交

 git cherry-pick 62efcd

git add . ,* , -u, -A 添加文件到暂存区的区别

   功能上看似很相近,但还是存在一点差别

   git add .  所有变化提交到暂存区,但不包括被删除的文件,并且会根据.gitignore做过滤

   git add *  同上,但是git add * 会忽略.gitignore把任何文件都加入

   git add -u 他会将被修改的文件提交到暂存区。add -u 不会提交新文件

   git add -A 提交所有变化